缓存驻留模式
根据需要从数据存储区家在数据到缓存中。此模式可以用于改进系统性能,还可以用于维护缓存数据和后台数据库之间到数据一致性。
使用缓存驻留模式时,需考虑到问题:
- 缓存数据到生命周期:缓存只有对于相对静止/频繁访问的数据才是最高效的。
- 清除数据:配置全局过期属性和其他缓存属性,以及每个缓存数据的过期属性,以确保缓存是高效的。
- 初始化缓存
- 一致性:数据库中数据被外部程序修改时,可能没反应到缓存中,直到下次数据加载到内存中。在跨数据库复制数据的系统中,如果频繁同步数据,这个问题可能变得尤其突出
- 本地缓存:如果是应用程序本地内存缓存,由于局部缓存是私有的,故不同程序的实例都会保存一份相同数据副本。这个数据很快会在不同缓存中变得不一致。所以需要在私有缓存里采用过期策略淘汰并频繁更新数据。此时,应该使用共享或者分布式缓存机制。
适合使用缓存驻留模式的情景:
- 缓存不提供通读和通写操作时
- 资源需求无法预测时。缓存驻留模式允许应用程序根据需要加载数据,不会对应用程序对数据需求做任何假设。
不适合使用缓存驻留模式对情景:
- 当缓存数据不变时。如果数据填充了可用对缓存空间,则可以在启动程序时缓存数据,并阻止使用缓存过期策略。
在WebFarm中托管对Web程序缓存绘画状态信息时。此时,应该避免引入基于客户端对依赖关系。