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