加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用无加载功能的番石榴缓存

发布时间:2020-12-14 14:26:42 所属栏目:Java 来源:网络整理
导读:我的 java应用程序有一个缓存,我想换掉当前的缓存实现,并将其替换为番石榴缓存. 不幸的是,我的应用程序的缓存使用情况似乎不符合番石榴缓存似乎工作的方式.所有我想要的是能够创建一个空的缓存,使用“get”方法从缓存中读取一个项目,并使用“put”方法将项目
我的 java应用程序有一个缓存,我想换掉当前的缓存实现,并将其替换为番石榴缓存.

不幸的是,我的应用程序的缓存使用情况似乎不符合番石榴缓存似乎工作的方式.所有我想要的是能够创建一个空的缓存,使用“get”方法从缓存中读取一个项目,并使用“put”方法将项目存储在缓存中.我不想让“get”调用尝试添加一个项目到缓存.

看来,LoadCache类有我需要的get和put方法.但是,无法提供“加载”功能,我无法找出如何创建缓存.

我的第一个尝试是这样的:

LoadingCache<String,String> CACHE = CacheBuilder.newBuilder().build();

但是这会导致编译器错误:不兼容的类型;不存在类型变量K1,V1的实例,使得Cache符合LoadingCache

显然我必须传递一个具有“加载”方法的CacheLoader.

(我想我可以创建一个CacheLoader,它具有一个“加载”方法,只是抛出一个异常,但是这似乎是一种奇怪而且效率低下的事情.

解决方法

CacheBuilder.build()返回一个非加载缓存.只是你想要的只需使用
Cache<String,String> cache = CacheBuilder.newBuilder().build();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读