spring常用注解 MyBatis中如何禁用緩存?
MyBatis中如何禁用緩存?1級(jí)緩存可以簡(jiǎn)單地理解為會(huì)話級(jí)或線程級(jí)緩存。當(dāng)查詢發(fā)生時(shí),mybatis將找出當(dāng)前會(huì)話中是否存在相同的查詢。如果有,它將直接訪問緩存,而不是訪問數(shù)據(jù)庫。執(zhí)行線程后,緩存將
MyBatis中如何禁用緩存?
1級(jí)緩存可以簡(jiǎn)單地理解為會(huì)話級(jí)或線程級(jí)緩存。當(dāng)查詢發(fā)生時(shí),mybatis將找出當(dāng)前會(huì)話中是否存在相同的查詢。如果有,它將直接訪問緩存,而不是訪問數(shù)據(jù)庫。執(zhí)行線程后,緩存將被清除。第二級(jí)緩存是進(jìn)程級(jí)緩存。可以通過向映射器文件添加節(jié)點(diǎn)來啟用它。我猜mybatis緩存將SQL語句參數(shù)作為鍵,查詢結(jié)果作為映射中的值。Hit表示查詢的SQL語句和參數(shù)相同,可以在緩存鍵中找到。此時(shí),結(jié)果將直接返回。密巴蒂斯的秘密藏在記憶里。你可以看到別人寫的博客:mybatis緩存機(jī)制deep dissection/自定義二級(jí)緩存非常清晰。
mybatis怎么禁止一級(jí)緩存?
默認(rèn)情況下,select語句始終使用緩存,但在某些情況下,我們希望它始終刷新以獲取最新數(shù)據(jù)。查看其文檔后,配置不起作用,配置文件的
不起作用,SQL映射文件的
flushcache=“true”Usecache=“false”
仍然不起作用。最后,我們找到了一個(gè)徹底的方法SqlSession.clearCache(),解決問題。