首页> 文章> 详情

java编程之Ehcache3.x 缓存过期时间Java配置demo

教程分享 > Java教程 (3263) 2024-04-17 12:33:21
Ehcache3.x 缓存过期时间Java配置demo

1.maven加入ehcache依赖
<dependency>
      <groupId>org.ehcache</groupId>
      <artifactId>ehcache</artifactId>
      <version>3.3.0</version>
</dependency>


2.demo案例
 
import java.util.concurrent.TimeUnit;

import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.CacheConfiguration;
import org.ehcache.config.builders.CacheConfigurationBuilder;
import org.ehcache.config.builders.CacheManagerBuilder;
import org.ehcache.config.builders.ResourcePoolsBuilder;
import org.ehcache.expiry.Duration;
import org.ehcache.expiry.Expirations;

public class EcacheTest {

    public static void main(String[] args) {
        // 构建一个缓存管理器
        CacheManager cacheManager = CacheManagerBuilder.newCacheManagerBuilder().build(true);
        // cacheManager.init();
        // cacheConfiguration -100个换成最大,缓存过期时间4秒
        CacheConfiguration<String, String> cacheConfiguration = CacheConfigurationBuilder
                .newCacheConfigurationBuilder(String.class, String.class, ResourcePoolsBuilder.heap(100))
                .withExpiry(Expirations.timeToLiveExpiration(Duration.of(4, TimeUnit.SECONDS))).build();
        // 根据配置创建一个缓存容器
        Cache<String, String> myCache = cacheManager.createCache("myCache", cacheConfiguration);
        // 设置一个值
        myCache.put("testKey", "testValue");
        // 循环直到数据过期 否包含该key
        while (myCache.containsKey("testKey")) {
            try {
                System.out.println("值:" + myCache.get("testKey"));
                Thread.sleep(2000);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        System.out.println("缓存已过期");
        cacheManager.close();

    }

}


 
https://www.leftso.com/article/126.html

相关文章
java编程之Ehcache3.x 缓存过期时间Java配置demo
       Ehcache 3.6 配置缓存过期时间,上一次写Ehcache缓存是3.3.0版本,没想到3.6.X的时候3.3版本的方式也弃用了       3.3版本ehcache参考:  ...
Java编程软件有哪些?常用Java编程软件下载、安装和使用说明
Java编程中Spring Boot整合RabbitMQ实现消息中间件RabbitMQ的使用
Java编程之spring boot shiro redis整合基于角色和权限的安全管理,Java编程,spring boot,shiro,权限控制
java编程之java jwt token使用,autho0的Java-jwt框架使用,java编程,java-jwt
Java编程中纯jdk java方式编写webservice服务(server)和客服端(client)
Java编程之java static关键字,Java编程,static关键字
Java编程中使用POI框架以模板方式导出Excel文件,适合Excel比较复杂的情况
java编程中float或double类型保留2位/n位小数使用BigDecimal进行处理
Map与Java bean之间的转换工具类,用于java.util.Map与普通javabean直接的相互转换,Java编程
java编程中正则表达式'并且'的写法,详细讲解在Java编程语言中正则表达式并且的写法以及Java语言与其他语言写正则有啥区别。
java编程中采用Apache common.httpclient方式模拟POST请求
java8 Function函数编程详解Function函数基础定义和使用 public static void t1(){ Function&lt;Integer,Int...
Java编程Throwable与Exception