【发布时间】:2013-09-09 07:22:44
【问题描述】:
问题
我想为我的 Web 应用程序添加缓存。
由于缓存所有内容都会杀死我的服务器,而没有缓存会做同样的事情,我想知道如何即时决定值得缓存的内容。
有什么办法吗?
换句话说,我需要一种算法,它会不断地:
- 按受欢迎程度缓存数据...
- ...但只是到了 服务器资源不足的程度
我的解决方案
我解决此问题的尝试假设我们缓存了所有数据并按以下步骤进行:
如果没有缓存版本,则创建一个,但仅在短时间内(例如 1 秒)
如果有缓存版本,请使用它并将其寿命再延长一秒
如果有缓存版本并且当前分钟数可以被 5 整除,请转到第 1 点
运行 cron,它持续监控服务器资源,如果资源不足,释放其中一些资源。
【问题讨论】:
-
你的问题是建设性的,但我建议一个更简单的解决方案,你为什么不手动决定缓存哪个,首先显而易见的是缓存与数据库的连接
-
这就是重点。我更喜欢自动化整个过程,而不是手动选择要缓存的文件。
标签: php mysql database caching memcached