繁体   English   中英

Spring Boot Hibernate Ehcache实体缓存实现

[英]Spring Boot Hibernate Ehcache entity caching implementation

我需要在应用程序启动期间查询数据库表,并将表条目(实体)存储在ehcache中。 每当有针对该行的请求时,数据(实体)都需要从cahce中获取数据,而不是去DB。

我已经使用方法级缓存实现了它,但是当方法参数改变时它没有用的时候,DB就会受到打击,如何避免它是实体级缓存的一个例子。

我正在使用Spring Boot 1.2.4 ehcache和Spring Boot Data JPA。

您可以预加载数据。 手动。 或与loader-writer一起使用Cache.getAll 或来自JSR 107的Cache.loadAll

一种简单的方法是

List<MyEntity> entities = entityManager.getAll();
entities.forEach(e -> cache.put(e.getId(), e));

要使用加载程序编写器(请参阅ehcache文档

List<Long> entities = entityManager.getAllIds();
entities.forEach(id -> cache.get(id));

最后,loadAll只是cache.loadAll

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM