Spring MVC的ehcache或spring cache中最好的Cache实践是什么?

Del*_*ari 13 java spring spring-mvc ehcache spring-cache

计划在基于Spring网络的应用程序中实现静态数据的缓存机制,任何人都可以解释哪个是最好的以及它是如何工作的?

  • 的Ehcache
  • Spring Cache

Ant*_*nne 22

免责声明:我是Terracotta/Software AG员工,Ehcache的维护人员

Ehcache是一个JVM缓存库,以用作Hibernate ORM的默认二级缓存而闻名

在Spring 3.1中引入了Spring缓存,并带来了注释,例如@CachePut在Spring应用程序中定义缓存的使用; 默认情况下,Spring缓存使用普通Map,但您可以将其配置为使用任何流行的缓存框架,包括Ehcache

从Spring 4.1开始,Spring缓存支持JSR-107,这是JVM上缓存的标准.

这意味着,您可以添加JSR-107缓存注释,然后选择您的缓存库(ehcache 2或3/guava/caffeine/):您不依赖于任何缓存供应商,甚至不依赖于Spring缓存注释!

一篇很好的博客文章解释了Spring缓存注释和JSR-107注释之间的并行,如果你选择在Spring启动应用程序中使用Ehcache3,还有另一个有趣的博客文章,解释你如何将它集成到你的应用程序中

  • @DelliKilari,我建议您在应用程序中启用Spring缓存,在代码中使用Jcache/jsr107注释,并将ehcache3或任何其他jsr107实现配置为缓存实现(请参阅我的答案中的链接) (2认同)