SpringBoot-Cache 集合 EhCache
包
<!-- 快取 -->
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache</artifactId>
</dependency>
ehcache.xml
<ehcache>
<!-- 指定一個檔案目錄,當EHCache把資料寫到硬碟上時,將把資料寫到這個檔案目錄下 -->
<diskStore path="java.io.tmpdir"/>
<!-- 設定快取的預設資料過期策略 -->
<cache name="person" maxElementsInMemory="10000" />
<defaultCache
maxElementsInMemory="10000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="10"
timeToLiveSeconds="120"
diskPersistent="false"
memoryStoreEvictionPolicy="LRU"
diskExpiryThreadIntervalSeconds="120"/>
<!-- maxElementsInMemory 記憶體中最大快取物件數,看著自己的heap大小來搞 -->
<!-- eternal:true表示物件永不過期,此時會忽略timeToIdleSeconds和timeToLiveSeconds屬性,預設為false -->
<!-- maxElementsOnDisk:硬碟中最大快取物件數,若是0表示無窮大 -->
<!-- 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(最少訪問次數)。-->
</ehcache>
application.properties:
spring.cache.type=ehcache
spring.cache.ehcache.config=ehcache.xml
在配置類配置@EnableCaching
@SpringBootApplication(exclude = MybatisAutoConfiguration.class)
@EnableCaching
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
管理設定@Configuration
public class CacheConfiguration {
@Bean(name = "appEhCacheCacheManager")
public EhCacheCacheManager ehCacheCacheManager(EhCacheManagerFactoryBean bean){
System.out.println("-------啟動ehche-----");
return new EhCacheCacheManager(bean.getObject());
}
@Bean
public EhCacheManagerFactoryBean ehCacheManagerFactoryBean(){
EhCacheManagerFactoryBean cacheManagerFactoryBean = new EhCacheManagerFactoryBean ();
cacheManagerFactoryBean.setConfigLocation(new ClassPathResource ("ehcache.xml"));
cacheManagerFactoryBean.setShared(true);
return cacheManagerFactoryBean;
}
}
測試 @Cacheable(value = "person",key="#person.age")
public Person getPerson(Person person) {
Person p = personMapper.getPerson(person);
return p;
}
OK 相關文章
- Ehcache 介紹(3)--Ehcache3 基本使用
- ehcache持久化持久化
- Java快取EhcacheJava快取
- Ehcache快取配置快取
- EhCache快取使用教程快取
- Mybatis 整合 ehcache快取MyBatis快取
- 快取初見——EhCache快取
- spring ehcache報錯Spring
- mybatis3 新增ehcache支援MyBatisS3
- Spring Cache與Ehcache 3整合Spring
- org.springframework.cache.ehcache.EhCacheManagerFactoryBeanSpringFrameworkBean
- Spring Boot 快速整合 Ehcache3Spring Boot
- springmvc + mybatis + ehcache + redis 分散式架構SpringMVCMyBatisRedis分散式架構
- Spring 整合 Ehcache 管理快取詳解Spring快取
- EhCache 分散式快取/快取叢集分散式快取
- springmvc + mybatis + ehcache + redis 分散式 架構SpringMVCMyBatisRedis分散式架構
- Java 開源分散式快取框架EhcacheJava分散式快取框架
- ehcache memcache redis 三大快取男高音Redis快取
- 結合Ehcache元註解與SpringSpring
- 轉享:Ehcache 服務和RESTful Web ServicesRESTWeb
- 另一種快取,Spring Boot 整合 Ehcache快取Spring Boot
- Spring Boot:簡單使用EhCache快取框架Spring Boot快取框架
- Ehcache 整合Spring 使用頁面、物件快取Spring物件快取
- 集合框架-TreeMap集合框架
- 集合框架-Set集合框架
- 集合框架-TreeSet集合框架
- 集合框架-Collection集合框架
- 集合框架-List集合框架
- JAVA中使用最廣泛的本地快取?Ehcache的自信從何而來 —— 感受來自Ehcache的強大實力Java快取
- 01_MyBatis EHCache整合及所需jar包,ehcache.xml配置檔案引數配置及mapper中的引數配置MyBatisJARXMLAPP
- 【Java集合】1 集合概述Java
- 集合框架-集合總結框架
- 集合框架-List集合-2框架
- 集合框架-List集合-3框架
- 集合框架-Collection集合-2框架
- 集合框架-Collection集合-3框架
- Spring Boot基礎教程:EhCache快取的使用Spring Boot快取
- SpringBoot中Shiro快取使用Redis、EhcacheSpring Boot快取Redis