我在PHP中遇到内存问题。我需要获得一份巨大的报告,一张包含大量信息的表格。
这些信息也是通过一些复杂的功能获得的,这意味着它无法在用户请求时获得,因为他/她必须等待大约5分钟才能显示信息。
我正在缓存结果,但随着信息的增长,现在浏览器崩溃并且没有显示任何内容。有什么可能的解决方案?
我正在考虑将数据存储在mysql而不是缓存中,然后在用户请求信息时执行一些选择。您对该解决方案有何看法?还有其他更好的选择吗?
的更新 的
看起来问题没有被理解,所以我添加了更多细节。
正在使用搜索。要记住很多要点:
1)必须计算信息本身。我有一个cron运行它构建它(需要5分钟),并将其存储在缓存中。浏览器只是从缓存渲染,搜索正在搜索此缓存数据。无法实时获取信息。 2)这就是为什么我在考虑将计算结果存储在MySQL中,这样搜索就可以在MySQL表中搜索,而不是搜索缓存数据(这是浏览器现在无法处理的巨大数据)。
我希望问题现在更清楚了!
答案 0 :(得分:2)
我认为将数据存储在mysql中是个好主意,如果你在频繁查询的数据列上构建一些索引,缓存会占用大量内存(它通常将数据存储在RAM中)。
您应该考虑另一件事,尝试查看服务器日志(访问和错误)日志,因为您可以在那里找到您的解决方案
最后希望你解决你的问题
答案 1 :(得分:0)
也许,如果可能的话,你应该对输出进行分页。我认为在MySQL中存储数据并不是一个好主意......
答案 2 :(得分:0)
检查此参数的php.ini设置
memory_limit = 512M
将其设置为更多值