在Mybatis中使用自定義緩存ehcache的方法
更新時間:2021年01月20日 11:37:18 作者:weixin_44953227
這篇文章主要介紹了在Mybatis中使用自定義緩存ehcache的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
自定義緩存 - ehcache
Ehcache是一種廣泛使用的開源Java分布式緩存。主要面向通用緩存,Java EE和輕量級容器
1.導包
<!-- https://mvnrepository.com/artifact/org.mybatis.caches/mybatis-ehcache --> <dependency> <groupId>org.mybatis.caches</groupId> <artifactId>mybatis-ehcache</artifactId> <version>1.1.0</version> </dependency>
2.在 Mapper.xml 中指定使用 ehcache 緩存實現(xiàn)
<!--在當前 Mapper.xml 中使用二級緩存--> <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
3.在resource中定義配置文件 ehcache.xml
<?xml version="1.0" encoding="UTF-8" ?> <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false"> <!-- diskStore: 緩存路徑, ehcache分為內存和磁盤兩級, 此屬性定義磁盤的緩存位置 參數(shù): user.home - 用戶主目錄 user.dir - 用戶當前工作目錄 java.io.tmpdir - 默認臨時文件路徑 --> <!--當二級緩存的對象 超過內存限制時(緩存對象的個數(shù)>maxElementsInMemory),存放入的硬盤文件 --> <diskStore path="./tempdir/Tmp_Ehcache"/> <!--default 默認緩沖策略, 當ehcache找不到定義的緩存時, 則使用這個緩存策略, 這個只能定義一個--> <defaultCache eternal="false" maxElementsInMemory="10000" overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="1800" timeToLiveSeconds="259200" memoryStoreEvictionPolicy="LRU"/> <cache name="cloud_user" eternal="false" maxElementsInMemory="5000" overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="1800" timeToLiveSeconds="1800" memoryStoreEvictionPolicy="LRU"/> <!-- maxElementsInMemory:設置 在內存中緩存 對象的個數(shù) maxElementsOnDisk:設置 在硬盤中緩存 對象的個數(shù) eternal:設置緩存是否 永遠不過期 overflowToDisk:當系統(tǒng)宕機的時候是否保存到磁盤上 maxElementsInMemory的時候,是否轉移到硬盤中 timeToIdleSeconds:當2次訪問 超過該值的時候,將緩存對象失效 timeToLiveSeconds:一個緩存對象 最多存放的時間(生命周期) diskExpiryThreadIntervalSeconds:設置每隔多長時間,通過一個線程來清理硬盤中的緩存 clearOnFlush: 內存數(shù)量最大時是否清除 memoryStoreEvictionPolicy:當超過緩存對象的最大值時,處理的策略;LRU (最少使用),F(xiàn)IFO (先進先出), LFU (最少訪問次數(shù)) --> </ehcache>
到此這篇關于在Mybatis中使用自定義緩存ehcache的方法的文章就介紹到這了,更多相關Mybatis自定義緩存ehcache內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java使用Lambda表達式查找list集合中是否包含某值問題
Java使用Lambda表達式查找list集合中是否包含某值的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
MybatisPlus使用queryWrapper如何實現(xiàn)復雜查詢
這篇文章主要介紹了MybatisPlus使用queryWrapper如何實現(xiàn)復雜查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。2022-01-01

