深入理解緩存

緩存分爲服務端緩存和客戶端緩存

服務端緩存分爲數據庫層緩存、服務層緩存

數據庫層面 mysql緩存

參考:

https://blog.csdn.net/jjxojm/article/details/89741765?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

服務層面

方式1:可以把數據取到redise,先從redis取,沒有則從數據庫取。

方式2:從數據庫取數據緩存mybatis+spring結構下

a:延遲加載 參考:Mybatis延遲加載的實現方式https://www.jb51.net/article/172739.htm

b:結合mybaits一級緩存、二級緩存來

參考:

深入理解MyBatis中的一級緩存與二級緩存

http://www.luyixian.cn/java_show_177666.aspx

spring整合mybatis後,mybatis一級緩存失效的原因(此明白更能深入理解在有沒有事務下一級緩存是否有效)
https://blog.csdn.net/ctwy291314/article/details/81938882?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

mybatis 緩存失效和坑

https://www.jianshu.com/p/7c481c702ba1

主要的解決辦法:

如何解決一級緩存的坑

  • 在mybatis配置文件中localCacheScope=statement。

  • 在mapper配置文件中,給select設置flushCache=true。需要注意的是,這樣會將local cache和 cache都清空掉。

  • 不用事務

http://www.bubuko.com/infodetail-3430920.html

主要的解決方法

springboot配置不使用一級緩存(默認是session級別),但是使用這種情況,一級緩存都不能使用,每次查詢都要去數據庫查詢

mybatis.configuration.local-cache-scope=statement

mybatis緩存(查找一級緩存作用域區別)

參考:http://www.iteye.com/blog/zhuyuehua-1912854

一級緩存作用域:

在mybatis3.1之後,可以配置本地緩存的作用域。在mybatis.xml中配置,如下:

<setting name="localCacheScope" value="SESSION"/>           作用域爲SESSION,這位默認值。

<setting name="localCacheScope" value=" STATEMENT "/>    作用域爲STATEMENT,即作用域爲SQL。

Mybatis---- SqlSession 緩存和SqlSessionFactory二級緩存

https://blog.csdn.net/Miracle_Gaaral/article/details/99088677

未結合spring時:

MyBatis中調用SqlSession.commit()和SqlSession.close()對二級緩存的影響

https://blog.csdn.net/jinbaizhe/article/details/81158514?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

結合spring後,結合spring對事務處理的方式可以結合起來考慮相關影響,可分有事務時和沒事務時,具體待再分析。

mybatis 一級、二級緩存

https://blog.csdn.net/qq_30788949/article/details/85613315

事務隔離級別

https://blog.csdn.net/qq_30788949/article/details/8269244

 

c:結合redis把緩存放到redis或ehcache,支持分佈式緩存,多個服務器的緩存

mybatis中二級緩存整合ehcache實現分佈式緩存

https://blog.csdn.net/ex_tang/article/details/83049411

ehcache、memcache、redis三大緩存比較

參考:https://www.cnblogs.com/qlqwjy/p/7788912.html

Spring+ehcache+redis兩級緩存

https://www.cnblogs.com/wchxj/p/8159609.html

springboot整合ehcache+redis實現雙緩存

https://blog.csdn.net/qwer1573037436/article/details/92783536?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1

J2Cache https://gitee.com/fulus/J2Cache

EhCache+Redis實現分佈式緩存詳解

http://www.itxm.cn/post/17239.html

 

Reids分佈式緩存+Ehcache本地緩存解決方案

 

初步認識 j2cache

https://www.jianshu.com/p/6b79932318d1

客戶端緩存頁面緩存

頁面緩存 ,圖片緩存參考說明:https://www.zhihu.com/question/24504292

涉及到nginx等

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章