我正在处理一个需要我处理和处理大量数据的项目。我使用phalcon的缓存系统建立数据检查点'确保我只在需要时处理数据。
PHP最大内存分配为2GB,我已做出安排,以便我尝试缓存的数据不会超过此值,但我遇到问题并且不断超出内存限制。
我做了一些使用memory_get_usage()函数和memory_get_peak_usage()函数,并确定当我尝试将结果保存到缓存时,我的峰值内存基本上加倍。
我最初的想法是,这种情况正在发生,因为Phalcon必须打开存储数据的文件句柄,一旦数据被添加到文件句柄中,数据就会很快变大。
这是偏离轨道吗? 如果是这样,有没有办法写入缓存文件而不必打开句柄?
如果没有任何好办法,我想我只是限制我的数据集来计算缓存时的文件句柄空间。
修改:更详细的清晰度。
Fatal error: Out of memory (allocated 1015021568) (tried to allocate 161480754 bytes) in C:\xampp\htdocs\tda_v2\app\library\analyzer\analyzerCache.php on line 131