【发布时间】:2019-07-03 16:26:04
【问题描述】:
我正在将 IMemoryCache 集成到一个项目中,并且我将竭尽全力确保每个存储库或提供程序中的密钥不会发生冲突(即提出一个密钥空间)。但后来我突然想到,为什么不为每个存储库/提供者提供他们自己的 IMemoryCache 单例实例——即一个命名的单例。这将保证密钥永远不会发生冲突,并且一个存储库永远无法访问另一个存储库的内部状态。我的原始方面还说这可能会提高性能,因为现在每个存储库都不会竞争 IMemoryCache 的内部锁。
但我不会假装理解 IMemoryCache 如何管理它的所有逻辑。也许拥有一个应用程序范围的单例实例很重要,这样它才能以更高性能的方式管理缓存条目的生命周期。
基本上,我从未见过有人将单例存储库模式与 IMemoryCache 一起使用,因此我正在征求对这种方法的反馈。
谢谢
【问题讨论】: