我知道,如果在持久存儲中發生任何更新,L2高速緩存無法自行更新。那麼,我應該在DAO層的每個寫入或更新方法之後調用evict2ndLevelCache()方法嗎?或者有更好的策略?休眠:使第二級高速緩存無效
http://howtodoinjava.com/2013/07/02/how-hibernate-second-level-cache-works/
如果某些用戶或進程直接在數據庫中的變化,有 沒有辦法,二級緩存更新自己,直到 「timeToLiveSeconds」時間已經過去了高速緩存區域。在這個 的情況下,最好是使整個緩存無效,並讓hibernate 再次構建它的緩存。你可以使用下面的代碼片段 使整個hibernate二級緩存失效。
[當另一個進程修改數據庫時Hibernate二級高速緩存失效]的可能重複(http://stackoverflow.com/questions/1603846/hibernate-2nd-level-cache-invalidation-when-another-process-modifies-該數據庫) – Tarik
嗨,鏈接還提供了一個示例驅逐方法。我擔心它的使用?那麼我的理解是否正確:每個更新方法後面跟着一個驅逐方法調用? – Forkmohit