-
MyBatis二級緩存的命中原則:和一級緩存一樣
在同一個SqlSessionFactory內(nèi)
StatementID
查詢參數(shù)
分頁參數(shù)
SQL語句
環(huán)境
查看全部 -
步驟三:在TempEntity實(shí)現(xiàn)Serializable接口。
查看全部 -
步驟二:在tempMapper.xml中,加上<cache/>標(biāo)簽。
查看全部 -
在一級緩存代碼基礎(chǔ)上,開啟二級緩存
步驟一:修改Mybatis.xml文件
查看全部 -
二級緩存的測試部分代碼
查看全部 -
開啟二級緩存的步驟
修改MyBatis.xml 和 mapper.xml 文件
查看全部 -
二級緩存各個Session共用cache緩存。
查看全部 -
對比一級緩存
一級緩存每個Session有自己的cache緩存。
查看全部 -
MyBatis與Spring集成
未開啟事務(wù)
每次請求,Spring都會關(guān)閉舊的session在創(chuàng)建新的session,所以此時(shí)一級緩存無效。
開啟事務(wù)
在一個事務(wù)內(nèi),Spring通過ThreadLocal始終使用同一個session,所以此時(shí)一級緩存在事務(wù)內(nèi)有效。
查看全部 -
MyBatis一級緩存的設(shè)計(jì)理念
MyBatis一級緩存是在一個Session內(nèi)有效的。
一級緩存在一個Session內(nèi),有以下特性:
不過期:只要SqlSession存在,沒有關(guān)閉、提交...這個緩存一直存在。
不更新:Update時(shí)只直接清空這個緩存,而不是更新這個緩存的實(shí)例。
不限制:不限制一級緩存實(shí)例對象的數(shù)量。
由于不限制實(shí)例對象的數(shù)量,故可能會占用大量內(nèi)存,但實(shí)際不用擔(dān)心:
一般情況下Session的生存時(shí)間很短
執(zhí)行Update會銷毀緩存
支持主動銷毀緩存
核心:控制Session生存時(shí)間!??!
查看全部 -
Update更新,清空緩存? 對應(yīng)代碼,如圖
包含update、instert、delete
查看全部 -
Rollback回滾,清空緩存? 對應(yīng)代碼,如圖
查看全部 -
Commit提交,清空緩存? 對應(yīng)代碼,如圖
查看全部 -
緩存Session關(guān)閉,清空緩存 對應(yīng)代碼,如圖
查看全部 -
一級緩存的五個命中原則 對應(yīng)的代碼,如圖
查看全部
舉報(bào)