单例或实例缓存



虽然这个问题主要涉及EhCache,但它通常适用于缓存框架(以及普通的缓存)。

EhCache允许你创建一个单一的CacheManager来管理应用程序中的所有Caches,或者它允许你创建"实例"CacheManager,这意味着它听起来就像:在整个应用程序中使用多个管理器。

每种方法的优缺点是什么?乍一看,单例管理器似乎更简洁。

对于为什么需要多个实例管理器,我能想到的唯一可能的原因是,CacheManager中的所有缓存必须共享相同的配置:相同的大小、使用策略、容量等。所以如果你想要多个缓存,每个缓存配置不同,单例CacheManager将无法为每个缓存提供不同的缓存配置。

这是确定单例管理器与实例管理器的唯一标准吗?如果没有,还有什么其他的考虑?两者之间是否存在明显的性能成本?提前感谢!

自动化测试呢?如果您可以在较小的级别上启用/禁用/配置缓存,可能对单元测试有用?只是一个想法。

最新更新