快取初見——EhCache
Ehcache簡介
Ehcache簡單使用
首先需要一個配置檔案
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<!-- 指定一個檔案目錄,當EhCache把資料寫到硬碟上時,將把資料寫到這個檔案目錄下 -->
<diskStore path="java.io.tmpdir"/>
<!--
cache元素的屬性:
name:快取名稱
maxElementsInMemory:記憶體中最大快取物件數
maxElementsOnDisk:硬碟中最大快取物件數,若是0表示無窮大
eternal:true表示物件永不過期,此時會忽略timeToIdleSeconds和timeToLiveSeconds屬性,預設為false
overflowToDisk:true表示當記憶體快取的物件數目達到了maxElementsInMemory界限後,會把溢位的物件寫到
硬碟快取中。注意:如果快取的物件要寫入到硬碟中的話,則該物件必須實現了Serializable介面才行。
diskSpoolBufferSizeMB:磁碟快取區大小,預設為30MB。每個Cache都應該有自己的一個快取區。
diskPersistent:是否快取虛擬機器重啟期資料
diskExpiryThreadIntervalSeconds:磁碟失效執行緒執行時間間隔,預設為120秒
timeToIdleSeconds: 設定允許物件處於空閒狀態的最長時間,以秒為單位。當物件自從最近一次被訪問後,
如果處於空閒狀態的時間超過了timeToIdleSeconds屬性值,這個物件就會過期,EHCache將把它從快取中清空。
只有當eternal屬性為false,該屬性才有效。如果該屬性值為0,則表示物件可以無限期地處於空閒狀態
timeToLiveSeconds:設定物件允許存在於快取中的最長時間,以秒為單位。當物件自從被存放到快取中後,如果處於快取
中的時間超過了 timeToLiveSeconds屬性值,這個物件就會過期,EHCache將把它從快取中清除。只有當eternal屬性為false,
該屬性才有效。如果該屬性值為0,則表示物件可以無限期地存在於快取中。timeToLiveSeconds必須大於timeToIdleSeconds屬性,才有意義
memoryStoreEvictionPolicy:當達到maxElementsInMemory限制時,Ehcache將會根據指定的策略去清理記憶體。
可選策略有:LRU(最近最少使用,預設策略)、FIFO(先進先出)、LFU(最少訪問次數)。
-->
<!-- 設定快取的預設資料過期策略 -->
<defaultCache
maxElementsInMemory="10000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="10"
timeToLiveSeconds="20"
diskPersistent="false"
diskExpiryThreadIntervalSeconds="120"/>
<cache name="simpleCache"
maxElementsInMemory="5"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="10"
timeToLiveSeconds="20"/>
</ehcache>
簡單使用:
public static void main(String[] args) {
CacheManager cacheManager = new CacheManager();
Cache cache = cacheManager.getCache("simpleCache");
for (int i = 0; i < 10; i++) {
cache.put(new Element("key"+i, "value"+i));
System.out.println("key"+i+ "=" +"value"+i);
System.out.println(cache.getKeys());
}
System.out.println(cache.get("key1"));
cacheManager.shutdown();
}
相關文章
- Java快取EhcacheJava快取
- Mybatis 整合 ehcache快取MyBatis快取
- EhCache快取使用教程快取
- SpringBoot中Shiro快取使用Redis、EhcacheSpring Boot快取Redis
- 另一種快取,Spring Boot 整合 Ehcache快取Spring Boot
- Spring Boot:簡單使用EhCache快取框架Spring Boot快取框架
- Spring Boot基礎教程:EhCache快取的使用Spring Boot快取
- Springboot應用快取實踐之:Ehcache加持Spring Boot快取
- 使用EHCACHE三步搞定SPRING BOOT 快取Spring Boot快取
- Spring Boot Oauth2快取UserDetails到EhcacheSpring BootOAuth快取AI
- 修改Ehcache快取中取到的值,快取中的值也被修改了快取
- Java快取機制:Ehcache與Guava Cache的比較Java快取Guava
- SpringBoot2 整合Ehcache元件,輕量級快取管理Spring Boot元件快取
- Spring boot學習(八)Spring boot配置ehcache快取框架Spring Boot快取框架
- JAVA中使用最廣泛的本地快取?Ehcache的自信從何而來2 —— Ehcache的各種專案整合與使用初體驗Java快取
- Spring Boot 2.x基礎教程:EhCache快取的使用Spring Boot快取
- Ehcache介紹及整合Spring實現快取記憶體Spring快取記憶體
- Spring Boot 2.x基礎教程:使用EhCache快取叢集Spring Boot快取
- JAVA中使用最廣泛的本地快取?Ehcache的自信從何而來3 —— 本地快取變身分散式叢集快取,打破本地快取天花板Java快取分散式
- Redis 面試常見問題———快取雪崩、快取擊穿以及快取穿透Redis面試快取穿透
- PWA常見的快取策略快取
- JAVA中使用最廣泛的本地快取?Ehcache的自信從何而來 —— 感受來自Ehcache的強大實力Java快取
- springboot mybatis 專案框架原始碼 shiro 整合程式碼生成器 ehcache快取Spring BootMyBatis框架原始碼快取
- Redis常見問題(快取雪崩)Redis快取
- Redis 快取常見問題處理Redis快取
- 快取常見問題及解決方案快取
- Nginx+Redis+Ehcache:大型高併發與高可用的三層快取架構總結NginxRedis快取架構
- 快取穿透、快取擊穿、快取雪崩、快取預熱快取穿透
- 快取穿透、快取雪崩、快取擊穿快取穿透
- 快取穿透、快取擊穿、快取雪崩快取穿透
- redis快取常見問題場景總結Redis快取
- Nginx 內容快取及常見引數配置Nginx快取
- [Redis]快取穿透/快取擊穿/快取雪崩Redis快取穿透
- Redis快取擊穿、快取穿透、快取雪崩Redis快取穿透
- HTTP快取——協商快取(快取驗證)HTTP快取
- 快取穿透 快取雪崩快取穿透
- 快取問題(一) 快取穿透、快取雪崩、快取併發 核心概念快取穿透
- Redis 初見Redis