单例模式还是实例缓存?

5

虽然这个问题主要涉及Ehcache,但它实际上适用于缓存框架(和普通的缓存)。

EhCache允许您创建一个单例CacheManager来管理应用程序中的所有Caches,或者允许您创建“实例”CacheManager,就像它听起来的那样:在您的应用程序中使用多个管理器。

每种方法的优缺点是什么?乍一看起来,只有一个单例管理器会更加清洁。

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

这是确定单例与实例管理器的唯一标准吗?如果不是,还有哪些考虑因素?是否与其中任何一个相关的性能成本明显?谢谢!

1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接