单例或实例缓存?

IAm*_*aja 5 java singleton caching ehcache

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

EhCache允许您创建一个CacheManager用于管理Caches应用程序中所有内容的单例,或者它允许您创建"实例" CacheManager,这意味着它的确切含义:在整个应用程序中使用多个管理器.

每个的优点/缺点是什么?乍一看,似乎只有一个单身经理会更干净.

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

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

mic*_*cha 0

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