hibernate三級緩存

一級緩存

session級別,同一個session生命周期通樣的查詢最多一次請求。
就是一個管理對象的Map

//原理
1. 生成key==類權限名#id值
2. 從一級緩存找到key
3. 沒找到從數(shù)據(jù)庫找,存入map
session.clear();//清空一級緩存
session.evict(A);//清空一個數(shù)據(jù)

二級緩存

sessionFactory級別的緩存,使用第三方緩存。

//獲得二級緩存對象
Cache cache=sessionFactory.getCache();
//剔除一個實例對象
cache.evictEntity(class,Long);
//剔除一個類的所有實例
cache.evictEntityRegion(class);
//剔除所有二級緩存中的實例
cache.evictEntityRegions();
hibernate.cache.use_second_level_cache=ture  //使用二級緩存
hibernate.cache.region.factory_class=EhCacheRegionFactory的全限名  //二級緩存是第三方,這兒選的是EhCache

三級緩存

查詢緩存,query語句緩存。
但是存儲使用List,有一個元素變了其他的都要變,所以一般只用于不變的List.

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容