我是靠谱客的博主 活力蜻蜓,最近开发中收集的这篇文章主要介绍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;
            }
        }


    }

最后

以上就是活力蜻蜓为你收集整理的java缓存之com.github.benmanes.caffeine.cache.Cache的全部内容,希望文章能够帮你解决java缓存之com.github.benmanes.caffeine.cache.Cache所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部