java缓存之com.github.benmanes.caffeine.cache.Cache

java中缓存手法很多,今天试了一下com.github.benmanes.caffeine.cache.Cache,感觉很好用

该缓存有两种策略
expireAfterAccess 每次读取之后,就续期设定时间
expireAfterWrite 写入之后,设定时候到了就过期,两种过期策略同时设定,默认改方法生效。

    private static Cache<String, String> roleCache = null;

    public static void main(String[] args) throws InterruptedException {

        int i = 0;
        roleCache = Caffeine.newBuilder()
                //这种写法,每次读取之后,5s超时,读一次,续期一次。
                .expireAfterAccess(5, TimeUnit.SECONDS)
                //这种写法,写进去以后,5秒超时,不能续期,两种方法都写,该方法生效。
                .expireAfterWrite(5, TimeUnit.SECONDS)
                .maximumSize(100)
                .build();

        roleCache.put("cache","cache");

        ConcurrentMap<String,String> cacheMap = roleCache.asMap();
        cacheMap.put("map","map");

        while (true){

            Thread.sleep(1000L);

            if(cacheMap.containsKey("cache")){
                System.out.println("=============="+roleCache.getIfPresent("cache"));
            } else {
                System.out.println("============== cache no found cache" );
            }

            if(cacheMap.containsKey("map")){
                System.out.println("=============="+roleCache.getIfPresent("map"));
            } else {
                System.out.println("============== cache no found map" );
            }


            i++;
            if(i>100){
                break;
            }
        }


    }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值