Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-什么';这是处理海量数据的最佳方式_Php_Json_Magento - Fatal编程技术网

PHP-什么';这是处理海量数据的最佳方式

PHP-什么';这是处理海量数据的最佳方式,php,json,magento,Php,Json,Magento,谢谢你的阅读, 我在magento网站上工作。在我的例子中,我希望使用cron将所有产品数据存储在.json文件中。有14家商店,每家都有2000多种产品,商店数量和产品数量都在增长。 总体算法如下所示: foreach available store [ define globalArray = array() get store products collection foreach product [ add product data to globalArray

谢谢你的阅读, 我在magento网站上工作。在我的例子中,我希望使用cron将所有产品数据存储在.json文件中。有14家商店,每家都有2000多种产品,商店数量和产品数量都在增长。 总体算法如下所示:

foreach available store
[
  define globalArray = array()
  get store products collection
  foreach product
  [
    add product data to globalArray
    add product filterable attributes to globalArray
    ... 
  ]
  save globalArray in json file
] 
问题是所需的内存非常大,我正在考虑将每200个产品的数据保存在临时json中,最后加载所有临时json文件并将它们合并到一个大json中


处理这个问题的最好办法是什么?我的解决方案好吗?
提前感谢使用magento core/resource_迭代器模型。可以在以下网址找到一个很好的解释:

编辑: 使用这个方法,您可以得到一个很好的关联数组,可以序列化或jsonify。我想连载要快一些


我不想问为什么有人想这么做!我不知道您想用任何非sql格式的产品数据实现什么。

globalArray假设在loop之外声明,我认为它在每个存储的开头都应该是空的,因为数据在不同的存储之间变化,不是吗?如果我不让它进入主循环,那么最后会保存所有存储数据,这在我的情况下是错误的,你没有提到你的服务器详细信息。。。。老实说,你的场景并不沉重,即使我在现代技术中也不能说什么。昨天我给了脚本无限的内存使用量,它占用了10G的RAM,我认为globalArray可能是原因。要在产品列表页面中获取所有需要的数据,必须从许多不同的来源收集数据所有这些都意味着DB调用+这个globalArray很有趣,但是globalArray(它保存所有产品数据)呢?我要做的正确吗(存储在临时json中)?还是有更聪明的方法?