使用Spring Cache Abstraction实现更好的性能

时间:2016-11-04 11:21:41

标签: spring spring-cache

我在http://www.nurkiewicz.com/2013/01/cacheable-overhead-in-spring.html发现了一篇文章,指出与自定义缓存解决方案相比,Spring Cache抽象引入了开销。是否存在尽可能接近简单自定义实现的Spring缓存抽象实现?

在我的用例中,我不需要对缓存进行逐出或大小限制。我确实需要过期。 CacheManager的选择是否会影响spring缓存抽象的性能?与GuavaCacheManager相比,使用SimpleCacheManager可以获得更好的性能吗?

的问候,
佳日

1 个答案:

答案 0 :(得分:1)

  

CacheManager的选择是否会对性能产生影响   Spring缓存抽象?我会获得更好的表现吗?   SimpleCacheManager与GuavaCacheManager相比?

我不认为任何人都可以直接回答您的问题(实际上是任何与性能相关的问题),而无需在应用程序代码库上运行性能测试。

Spring CacheManager是一个抽象层,用于将应用程序与缓存供应商松散耦合,这是一个非常好的功能,否则您将最终获得供应商锁定。

现在,进入性能,这一切都取决于您的应用程序的非功能性要求(响应时间等),您需要进行基准测试并比较结果以选择最佳结果。

在这里,Spring CacheManager具有很大的优势,因为您不需要修改/重写代码以使用不同的供应商进行测试,因为您需要更改属性文件和性能测试以进行比较并选择最佳选择。