千家信息网

GuavaCache怎么使用

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇"GuavaCache怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Gu
千家信息网最后更新 2026年11月04日GuavaCache怎么使用

这篇"GuavaCache怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"GuavaCache怎么使用"文章吧。

jvm缓存,其实是堆内存的缓存,也就我们常说的本地缓存。常用的像map,set,list等。 不过呢这些缓存并发能力差,也没有较好的删除过期机制,不好维护。 现在介绍一款本地缓存:Guava Cache。

Guava Cache是一款高性能本地缓存,设计来源于CurrentHashMap,可应对高并发,有丰富的策略机制来清除缓存。 下面来具体介绍一下GuavaCache。

一: 基础用法

1、GuavaCache创建:

以上的方式是在build中使用CacheLoader来创建的cache,也可以创建的时候,build中不指定,这时候可以单独写一个方法,使用 Callable callback来获取:

如图,方法中调用cache.get时,创建一个Callable,当本地缓存没有值,会调用call()方法回源查询,再手动放到缓存中返回。

2、cache 删除:

被动删除:

1、基于数据大小的删除:

删除规则: LRU + FIFO (LRU:最近最少访问的优先删除。 如果访问次数一样,先存的先删除)

2、最后一次访问后多久过期:

3、写入多长时间后过期

4、基于引用的删除:

主动删除:

单独删除: cache.invalidate("1"); -- 删除key为1的

批量删除: cache.invalidateAll(Arrays.asList("1","2")); --删除key为1和2的

清空所有: cache.invalidateAll();

二: GuavaCache原理:

数据结构:

localcache结构同ConcurrentHashMap类似,分成多个段,可以分段上锁,如图,一个cache的内部结构,整体是一个Segment数组(红色),数组长度决定了并发数。 每一个segment的结构是右边那部分,继承了ReentrantLock,写操作需要获取锁。包含了5个队列和一个table(一个atomic类型的数组)。 队列和table的作用: 我们上面讲了几种删除的方式,这几个队列便是具体实现规则,从上到下依次是: 弱引用对象gc后,需要清理的key。 弱引用对象gc后,需要清理的value。 segment达到临界值后,从队列头删除。 按写入时间排序的队列,时间相同且新的写操作会排到后面。 按访问时间排序的队列,时间相同且新的访问会排到后面。

table: 存储数据。 流程是对key作hash,找到对应的segment,在对key作hash,找到table中的具体节点,存储为ReferenceEntry对象,以链表形式,防止hash冲突。 另外,V不是真正的value,而是用ValueReference封装真正的value。

以上就是关于"GuavaCache怎么使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

缓存 队列 内容 时间 结构 对象 数据 数组 方法 相同 文章 方式 机制 知识 篇文章 规则 如图 存储 排序 主动 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 互联网与科技 广东猪兼强互联网科技有限公司 互联网科技卖菜 互联网科技资迅 互联网科技公司电话 唐信互联网科技 大连 掌上梦互联网科技 科技互联网创业计划书 互联网教育科技公司vipkid 互联网校园科技培训 成都铂石互联网科技做什么的 中国科技创新与世界互联网大会 互联网新科技动漫ppt素材 互联网金融科技名词解释 烟台灵鸽互联网科技有限公司 中国互联网有什么科技 新氧科技和美国互联网有关系吗 华人运通互联网科技公司 银川新华互联网科技学校招聘 智慧科技互联网 深圳国际航运科技和互联网 北京大学互联网科技怎么样 互联网科技寓意 湖南诚度互联网科技有限公司 贵州叶脉互联网科技有限公司所属行业 晓花互联网科技有限公司网址 深圳育鹏互联网科技有限公司招聘 陕西九四连强互联网科技有限公司 山东亿川互联网科技有限责任公司
0