问题
我想向我的 Web 应用程序添加缓存。
由于缓存所有内容都会杀死我的服务器,并且什么都不缓存会做同样的事情,我想知道如何决定什么值得即时缓存。
有什么办法可以做到这一点吗?
换句话说,我需要一个不断:
- 缓存数据按其受欢迎程度排序...
- 。但仅限于服务器资源不足的程度
我的解决方案
我尝试解决此问题的尝试假设我们缓存所有数据并按以下步骤进行:
-
如果没有缓存版本,请创建一个,但仅在短时间内(例如 1 秒)
-
如果有缓存版本,请使用它并将其寿命再延长一秒钟
-
如果有缓存版本并且当前分钟数可被 5 整除,请转到第 1 点
-
运行 cron 它会持续监视服务器资源,如果它们很短,则会释放其中一些资源。
没有办法教一个程序 - 不容易 - 知道现在缓存什么重要,什么不重要。
这应该由建筑师或工程师决定。因为只有他知道应该缓存什么。如果您不知道必须缓存什么,则最好研究应用程序的域并观察她的行为。
无论如何,要教一个程序,它应该缓存什么,你应该知道之前缓存什么。
正如您所说,应用程序必须知道数据的受欢迎程度。因此,应用程序知道什么缓存。