问题
我想向我的 Web 应用程序添加缓存。
由于缓存一切都会杀死我的服务器,而缓存什么都不会做同样的事情,我想知道我如何才能决定什么是值得即时缓存的。
有没有办法做到这一点?
换句话说,我需要一个不断的算法:
- 按受欢迎程度缓存数据顺序...
- ...但只是到了服务器资源不足的地步
我的解决方案
我解决这个问题的尝试假设我们缓存所有数据并按如下方式进行:
如果没有缓存版本,则创建一个,但仅持续很短的时间(例如 1 秒)
如果有缓存版本,请使用它并将其寿命延长一秒钟
如果有缓存版本并且当前分钟数可以被 5 整除,请转到第 1 点
运行 cron持续监控服务器资源,如果资源不足,则释放其中一些资源。