2

问题

我想向我的 Web 应用程序添加缓存。

由于缓存一切都会杀死我的服务器,而缓存什么都不会做同样的事情,我想知道我如何才能决定什么是值得即时缓存的

有没有办法做到这一点?

换句话说,我需要一个不断的算法:

  • 按受欢迎程度缓存数据顺序...
  • ...但只是到了服务器资源不足的地步

我的解决方案

我解决这个问题的尝试假设我们缓存所有数据并按如下方式进行:

  1. 如果没有缓存版本,则创建一个,但仅持续很短的时间(例如 1 秒)

  2. 如果有缓存版本,请使用它并将其寿命延长一秒钟

  3. 如果有缓存版本并且当前分钟数可以被 5 整除,请转到第 1 点

  4. 运行 cron持续监控服务器资源,如果资源不足,则释放其中一些资源。

4

1 回答 1

0

没有办法教程序 - 不容易 - 知道现在缓存什么是重要的,什么不是。

这应该由建筑师或工程师决定。因为只有他知道应该缓存什么。如果您不知道必须缓存什么,您应该更好地研究应用程序的领域并观察她的行为。

不管怎样,要教一个程序,它应该缓存什么,你应该知道之前缓存了什么。

正如您所说,应用程序必须知道数据的流行度。所以,应用程序知道什么缓存。

于 2013-09-06T15:30:24.013 回答