我在http://www.nurkiewicz.com/2013/01/cacheable-overhead-in-spring.html发现了一篇文章,指出与自定义缓存解决方案相比,Spring Cache抽象引入了开销。是否存在尽可能接近简单自定义实现的Spring缓存抽象实现?
在我的用例中,我不需要对缓存进行逐出或大小限制。我确实需要过期。 CacheManager的选择是否会影响spring缓存抽象的性能?与GuavaCacheManager相比,使用SimpleCacheManager可以获得更好的性能吗?
的问候,
佳日
答案 0 :(得分:1)
CacheManager的选择是否会对性能产生影响 Spring缓存抽象?我会获得更好的表现吗? SimpleCacheManager与GuavaCacheManager相比?
我不认为任何人都可以直接回答您的问题(实际上是任何与性能相关的问题),而无需在应用程序代码库上运行性能测试。
Spring CacheManager
是一个抽象层,用于将应用程序与缓存供应商松散耦合,这是一个非常好的功能,否则您将最终获得供应商锁定。
现在,进入性能,这一切都取决于您的应用程序的非功能性要求(响应时间等),您需要进行基准测试并比较结果以选择最佳结果。
在这里,Spring CacheManager
具有很大的优势,因为您不需要修改/重写代码以使用不同的供应商进行测试,因为您需要更改属性文件和性能测试以进行比较并选择最佳选择。