簡體   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