【问题标题】:Handling In-Memory Data In PHP在 PHP 中处理内存中的数据
【发布时间】:2011-12-07 16:43:38
【问题描述】:

我正在编写一个可用于可视化大量数据的 PHP 框架。我无法将所有数据提取到内存中并对其进行处理(如排序、过滤等)。所以我有一个 sql 查询生成器,它构造 sql 查询并将所有处理部分推送到 sql server。有没有办法用 PHP 做到这一点?或者是否有某种可用的 C 库以二进制形式存储数据并减少处理时的内存使用量?

【问题讨论】:

    标签: php c memory data-visualization data-processing


    【解决方案1】:

    我大量使用 PHPExcel 中的缓存引擎(使用 APC、对象序列化、php://temp、磁盘存储、内存中 SQLite、memcache 和其他选项),它可以处理大量数据(数百万) 的单元格对象。问题是通过尽可能多地考虑 php 的有限内存来减少内存开销,同时尝试保持合理的执行速度:在 PHP 内存之外存储数据的任何单元缓存都会增加执行速度开销。

    使用 igbinary 对数据进行序列化是一个很好的折衷方案,但您仍然会达到内存限制。它与 PHP 内置的序列化一样快,但在压缩数据方面效率更高。

    我想说尽可能多地使用数据库,因为数据库就是为这种工作而设计的。

    【讨论】:

      【解决方案2】:

      Zend_Db_Select 是 Zend_Db 和 Zend Framework 的一部分,它允许您通过推送和修改其中的一部分以编程方式创建您的查询(您提到的查询构建器)。

      【讨论】:

      • 我现在有类似的工作,它将所有处理推送到 sql 服务器。我正在寻找可以在 sql server 之外处理数据的东西。
      • 这是在 sql server 之外,在 php 级别
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2015-09-15
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      相关资源
      最近更新 更多