在dropwizard项目中使用ehcache

问题描述 投票:3回答:2

我正在使用dropwizard创建RESTful服务。为了避免重击数据库,我正在Java中寻找一个好的缓存解决方案。搜索网络将我带到ehcache。我已经阅读了一些文档,但是目前尚不清楚如何在dropwizard项目中使用ehcache。

例如,配置文件在哪里?我只需要一些东西来帮助我开始使用缓存。

如果很难集成,对于dropwizard项目,最适合的缓存解决方案是什么?

谢谢!

java ehcache dropwizard
2个回答
5
投票

如果您最终想要一个比ehcache更简单的缓存框架/ API,请考虑使用来自番石榴的CacheBuidler:

https://code.google.com/p/guava-libraries/wiki/CachesExplained

典型的缓存实现和使用只需要几行代码,而无需配置文件。


0
投票

我知道这是一个古老的问题,但是我已经能够进行设置。这是方法。

  1. 获取hibernate版本。您可以从dropwizard-hibernate程序包的依赖项中获得此信息。例如。 dropwizard-hibernate:1.3.12取决于hibernate-core:5.2.18.Final
  2. 添加与休眠的确切版本匹配的ehcache,因此在这种情况下为compile group: 'org.hibernate', name: 'hibernate-ehcache', version: '5.2.18.Final'
  3. 启用休眠状态的二级缓存。 Dropwizard在config.yml中管理配置。所以这就像:
# For documentation on available options please refer io.dropwizard.db.DataSourceFactory
database:
  # any properties specific to your JDBC driver:
  properties:
    # Enable second level cache with EhCache
    hibernate.cache.use_second_level_cache: true
    hibernate.cache.region.factory_class: org.hibernate.cache.ehcache.EhCacheRegionFactory
  1. 现在,应该启用缓存。现在,您可以在实体上使用注释以使其可缓存。请参阅@org.hibernate.annotations.Cache上的文档>
  2. 我发现这篇文章是一个好的开始。 https://www.baeldung.com/hibernate-second-level-cache。还有其他类型的缓存,例如查询缓存等,可能会根据您的用例而有所帮助。

让我知道是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.