由mybatis二級快取和redis引起的思考

2021-10-08 17:07:13 字數 330 閱讀 1049

mybatis一級快取作用域是session,session commit之後快取就失效了

redis比之

一、二級快取的好處很多,redis可以搭建在其他伺服器上,快取容量可擴充套件。redis可以靈活的使用在需要快取的資料上,比如一些熱點資料。

但mysql和redis是兩個事物,不好做強一致性。

簡單點:可以延時雙刪+過期時間保證最終一致性。

雙刪的原因是防止併發情況下 update_db的過程中 其他事物發現redis快取是空 重新賦予了redis的值 此時如果賦值 是錯誤的資料

擴充套件:保證redis和資料庫內容一致性

mybatis二級快取

配置檔案 不用配置也是預設開啟的 在sqlmapconfig.xml中 cacheenabled value true 如果不需要二級快取,可以在設定禁用二級快取 select 這樣每次都是從資料庫中讀取 在執行insert,update,delete後會重新整理快取 清空快取 可以設定不重新整理 ...

mybatis 二級快取

一 mybatis 二級快取 3 mybatis 預設二級快取未開啟 內建是支援二級快取的。但是由於本身是資料庫管理元件 所以快取並不好用 所以還是要用第三方的快取機制。典型的 ehcache 二 二級快取的常見演算法 lru least recently used 這種演算法是在每個物件中維護乙個...

Mybatis二級快取

原文找不到了,如果作者看到了可以留下位址,我再加上引用 sqlsession2去查詢使用者id為1的使用者資訊,去快取中找是否存在資料,如果存在直接從快取中取出資料。明白了mybatis中二級快取的原理後,接下來就是如何使用二級快取了。在使用之前,首先得開啟二級快取的開關。2.1 開啟二級快取 2....