我正在使用dropwizard来创建RESTful服务。为了避免锤击数据库,我在java中寻找一个好的缓存解决方案。搜索网络引导我进入ehcache。我已经阅读了一些文档,但目前还不清楚如何在dropwizard项目中使用ehcache。
例如,配置文件在哪里?我只需要一些东西来帮助我开始使用缓存。
如果难以集成,那么dropwizard项目最适合的缓存解决方案是什么?
谢谢!
答案 0 :(得分:5)
如果您最终需要一个更简单(比ehcache)的缓存框架/ API,请考虑使用guava中的CacheBuidler:
https://code.google.com/p/guava-libraries/wiki/CachesExplained
典型的缓存实现和使用只需要几行代码而不需要配置文件。
答案 1 :(得分:0)
我知道这是一个老问题,但是我已经能够进行设置。就是这样。
hibernate
版本。您可以从dropwizard-hibernate
包的依赖项中获得此信息。例如。 dropwizard-hibernate:1.3.12
取决于hibernate-core:5.2.18.Final
。compile group: 'org.hibernate', name: 'hibernate-ehcache', version: '5.2.18.Final'
# 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
@org.hibernate.annotations.Cache
上查看文档我发现这篇文章是一个好的开始。 https://www.baeldung.com/hibernate-second-level-cache。还有其他类型的缓存,例如查询缓存等,可能会根据您的用例而有所帮助。
让我知道这是否有帮助。