【问题标题】:Cache Managers in Enterprise Library caching Application block企业库缓存应用程序块中的缓存管理器
【发布时间】:2026-02-23 12:40:01
【问题描述】:

在我之前的所有应用程序开发中,我一直在使用 asp 网络缓存。我正在调查Ent。看起来很有趣的 Lib 缓存应用程序块。

但是,我需要澄清一下缓存管理器的工作原理吗?

1- 拥有多个缓存管理器的目的是什么,是对缓存项目进行分区吗?我习惯只有一个缓存管理器(类似于 ent.lib.default 缓存管理器)?

2- 每个缓存管理器是否映射到一个单独的哈希表?或者它们都将存储在一个哈希表中?

3- 如果我只使用 Null 存储选项(无后备存储),如果我使用多个缓存管理器会有所不同吗?

谢谢,

罗伯特 B.

【问题讨论】:

  • 我在一个大型项目中使用了企业库缓存应用程序块,但遇到了无穷无尽的问题——缓存失效问题、数据消失、无缘无故抛出异常——我的建议是避免。

标签: caching


【解决方案1】:

多个缓存管理器允许您为每个缓存管理器指定不同的策略。其中包括:

  • 缓存中允许的最大项目数
  • 您希望多久轮询一次过期项目

通常,您希望这些可根据您存储在缓存中的项目进行配置。如果您有仅存储一小时的易失性物品,您希望每十分钟轮询一次过期物品。如果您的项目可以在缓存中保留一周,那么每十分钟轮询一次没有什么意义,而且是一种资源浪费。

【讨论】:

    最近更新 更多