单例或实例缓存?

时间:2011-12-22 17:25:44

标签: java caching singleton ehcache

虽然这个问题主要涉及EhCache,但它确实适用于缓存框架(以及简单的旧缓存)。

EhCache允许您创建单个CacheManager来管理应用中的所有Caches,或者它允许您创建“实例”CacheManager,这意味着它的确切含义喜欢:在整个应用程序中使用多个管理器。

每个人的优点/缺点是什么?乍一看看,拥有一名单身经理似乎更干净。

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

这是确定单身人士与实例经理的唯一标准吗?如果没有,还有哪些其他考虑因素?是否有明显的性能成本?提前谢谢!

1 个答案:

答案 0 :(得分:0)

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