我需要在應用程序啓動時查詢數據庫表並在ehcache中存儲表條目(entites)。當有數據請求的時候,數據(實體)需要從cahce中取數據而不是去數據庫。Spring Boot Hibernate Ehcache實體緩存實現
我已經使用方法級高速緩存實現了它,但是當它沒有用,因爲每當方法參數發生變化時都會觸發DB。如何避免它存在實體級高速緩存的示例。
我使用的是Spring引導1.2.4 ehcache和Spring Boot Data JPA。
我需要在應用程序啓動時查詢數據庫表並在ehcache中存儲表條目(entites)。當有數據請求的時候,數據(實體)需要從cahce中取數據而不是去數據庫。Spring Boot Hibernate Ehcache實體緩存實現
我已經使用方法級高速緩存實現了它,但是當它沒有用,因爲每當方法參數發生變化時都會觸發DB。如何避免它存在實體級高速緩存的示例。
我使用的是Spring引導1.2.4 ehcache和Spring Boot Data JPA。
您可以預先加載數據。手動。或使用加載器 - 編寫器使用。或Cache.loadAll
從JSR 107
一個簡單的方法就是到
List<MyEntity> entities = entityManager.getAll();
entities.forEach(e -> cache.put(e.getId(), e));
要使用架作家(見ehcache doc是
List<Long> entities = entityManager.getAllIds();
entities.forEach(id -> cache.get(id));
最後,LOADALL只是cache.loadAll
。
如何獲取存儲的實體f rom緩存任何例子 – springbootlearner
從緩存中獲取它們或如何將它們添加到緩存中? – Henri
從高速緩存中獲取實體 – springbootlearner
你指的是2-3個不同的東西,難以遵循。請在代碼摘錄中提出您的問題 – dimitrisli