Ehcache3.8 Quick Start & SpringBoot下集成

目录

一、导入jar包

二、编码方式使用

三、XML使用

四、SpringBoot下的集成


本文介绍Ehcache 3.8.0版本的简单使用以及在SpringBoot下的集成。

一、导入jar包

 


    org.ehcache
    ehcache
    3.8.0

二、编码方式使用

 

// CacheManager 用于创建、得到、移除、关闭Cache
// build()只实例化CacheManager,初始化需要使用cacheManager.init();
// build(true) 实现了实例化和初始化两个操作
CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build(true);

// ResourcePoolsBuilder 用于构建Cache的各项参数
ResourcePoolsBuilder resourcePoolsBuilder = ResourcePoolsBuilder.newResourcePoolsBuilder();

// ResourcePools 存放Cache各项参数的对象
// heap() 缓存在内存中的大小,还有其他方法读者自行查看
ResourcePools resourcePools = resourcePoolsBuilder.heap(10, MemoryUnit.MB).build();

// CacheConfiguration 组装Cache的各个参数
// String.class,String.class Cache存放key和value的数据类型
// withExpiry() 设置信息在缓存中的存放的时间,有两种:1、TTL缓存自创建之时起至失效时的时间间隔;2、TTI缓存创建以后,最后一次访问缓存之时至失效之时的时间间隔
CacheConfiguration configuration =
        CacheConfigurationBuilder.newCacheConfigurationBuilder(String.class, String.class, resourcePools)
                .withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofSeconds(3L)))
                .build();

// 创建缓存
// name 缓存名称,configuration 缓存配置
Cache cache = cacheManager.createCache("name", configuration);

// 存放一个数据
cache.put("a", "A");

// Cache还有其他方法,自行查看

// 取出数据
System.out.println(cache.get("a"));

try {
    Thread.sleep(6000);
} catch (InterruptedException e) {
    e.printStackTrace();
}

// 数据经过一段时间,再次查看,发现数据为null
System.out.println(cache.get("a"));

 

三、XML使用

1、ehcacheConfig.xml 各项配置参数

 



    // 缓存别名
    java.lang.String  // key的数据类型
    java.lang.String  // value的数据类型
    
      20 // 堆上最多容纳20个entry
      10  // 开始驱逐之前,最多容纳10MB的堆外内存
    
  

    // 一个缓存模板
    java.lang.Long
    java.lang.String
    200
  

   // "继承"缓存模板
    java.lang.Number // 重写key数据类型
  

   

2、读取XML文件,并使用

 

// 获取XML文件路径
URL myUrl = getClass().getResource("/ehcacheConfig.xml");
// 读取XML文件
org.ehcache.config.Configuration xmlConfig = new XmlConfiguration(myUrl);
// 生成CacheManager
CacheManager myCacheManager = CacheManagerBuilder.newCacheManager(xmlConfig);
// 初始化CacheManager
myCacheManager.init();
// 获取缓存,此处参数需与XML配置一致
Cache cache = cacheManager.getCache("myDefaults", Long.class, String.class);
// 使用缓存
cache.put(1L, "hello ehcache");

XML文件完整配置

 



  
  
    
    
      
    
  

  
  

    
    java.lang.Long

    
    com.pany.domain.Product

    
    
      
      2
    

    
    com.pany.ehcache.MyEvictionAdvisor

    
    
      
      com.pany.ehcache.integration.ProductCacheLoaderWriter
        
    

    
    200

    
  

  
  
    
      
    
    
  

  
  
    
    java.lang.Long
    com.pany.domain.Customer

    
    200
  

 

四、SpringBoot下的集成

此处使用XML文件的方式进行展示

1、将XML配置文件放在resources文件夹下

Ehcache3.8 Quick Start & SpringBoot下集成_第1张图片

2、通过Bean注入的方式将XML文件读取并配置

Ehcache3.8 Quick Start & SpringBoot下集成_第2张图片

3、获取Bean并使用

Ehcache3.8 Quick Start & SpringBoot下集成_第3张图片

 

更多详细的用法请转战Ehcache官网:

http://www.ehcache.org/documentation/3.8/index.html

 

 

 

 

你可能感兴趣的:(阶段学习)