gpt4 book ai didi

php - MySQL 查询缓存与在应用层缓存结果集

转载 作者:行者123 更新时间:2023-11-29 02:07:48 25 4
gpt4 key购买 nike

我正在运行一个访问量很大的 php/mysql 驱动的网站,我正在考虑将结果集缓存在共享内存中以减少数据库负载的可能性。
然而,现在 MySQL 的查询缓存已启用并且它似乎做得很好,因为如果我禁用查询缓存,CPU 的使用会立即跳到 100%。
鉴于这种情况,我不知道在使用 PHP 的共享内存中本地缓存结果集(甚至生成的 HTML 代码)是否会导致任何显着的性能改进。

有没有人有这方面的经验?

PS:请避免推荐像 memcached 这样的重型解决方案。现在我正在寻找不需要太多时间来实现、部署和维护的简单解决方案。

编辑:
我看到我关于 memcached 的评论偏离了实际点,即考虑到这些查询的结果已经在数据库级别缓存,在应用程序层缓存数据库查询是否会对性能产生显着影响。

最佳答案

我知道您不想听到有关 memcached 的信息,但它是您尝试做的事情的最佳解决方案之一。根据您的站点使用情况,性能可能会有很大的提高。通过简单地在我的数据库 session 处理程序上使用 memcached 的 session 处理程序,我能够将负载减半并将请求服务时间减少 30% 以上。

实际上,memcached 是一个简单的解决方案。它已经与 PHP 集成(如果您加载了扩展),并且几乎不需要任何配置(我只需要将 memcached 作为一项服务添加到我的 linux 机器上,这是通过一两个 shell 命令完成的)。

我建议在内存缓存中存储 session 数据(以及任何适合缓存的数据)。对于动态页面(例如堆栈溢出主页),我建议将输出缓存几秒钟以防止泛滥。

关于php - MySQL 查询缓存与在应用层缓存结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2906992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com