我正在设计一个内置在缓存中的ASP.NET的抽象,以使其使用起来不那么可怕。我必须考虑的一个设计决策是,我是否应该限制人们对每个项只使用一个缓存策略。
例如,假设您正在缓存您的博客帖子或类似的HTML。你会不会想要缓存它,有时30分钟,有时2小时?注意:这不是缓存失效。
这些是现有的政策:
是否有人希望在缓存中添加带有一组策略的项,而在web应用程序的另一部分中,在添加时使用不同的策略集(当然,如果它已经与旧策略保持不变)?允许这样做有什么实际用途吗?
发布于 2013-01-29 06:18:30
有一次,在乐队训练营..。
我已经建立了类似的缓存机制,您所描述的,以应对(可预测的)流量尖峰。这是一次黑客攻击,而我们之所以这么做,唯一的原因是(当时)我们无力升级我们的基础设施,以应对剧烈的突飞猛进,也因为我们很容易准确预测在这些高峰期间将需要哪些资源,以及何时会出现尖峰(小众市场+大量现有的交通数据)。
从黑客的灵感是一个类似的黑客,我看到在一个(当时)流行的CMS平台,以对抗斯拉什多效应。该系统将在短时间内通过自动增加TTL(如果我没记错的话,增加的是对数)来对大量的访问者做出反应。
在任何情况下,条件/自适应缓存并不少见,它非常常见,因此我们有相当多的超赞算法用于它。问题是你真的需要它吗?如果不是,我相信你知道他们怎么说过早优化.
https://softwareengineering.stackexchange.com/questions/185114
复制相似问题