导图社区 Guava
详细记录Guava本地缓存框架的知识点,主要有Guava cache的特点、配置、api、触发清理、事件。
Spring基础 高级功能详解,如 additional-spring-configuration-metadata.json将会合并到spring-configuration-metadata.json中,并覆盖掉相同的说明。
敏捷开发相关的理论知识--Scrum,我们的最高目标是通过尽早和持续第交付有价值的软件来满足客户;欢迎对需求提出变更 - 即使在项目开发后期,要善于利用需求变更,帮助客户获得竞争优势;
这是一篇关于SpringCloud-Stream的思维导图,主要内容有作用、整体结构、元素详解、常用配置。
社区模板帮助中心,点此进入>>
论语孔子简单思维导图
《傅雷家书》思维导图
《童年》读书笔记
《茶馆》思维导图
《朝花夕拾》篇目思维导图
《昆虫记》思维导图
《安徒生童话》思维导图
《鲁滨逊漂流记》读书笔记
《这样读书就够了》读书笔记
妈妈必读:一张0-1岁孩子认知发展的精确时间表
Guava cache
特点
完全基于内存,不支持持久化
配置
concurrencyLevel
可以同时写缓存的线程数
initialCapacity
缓存容器的初始容量
maximumSize
缓存容器的最大容量
超过最大量以后即可触发回收算法
recordStats
是否开启缓存命中率统计
类型
命中率
加载时间
注意
此设置会对性能有影响
弱引用
weakValues
weakKeys
概要
指定key/value为弱引用,当没有其他强引用指向的时候,就会被gc掉
软引用
softValues()
过期策略
expireAfterWrite
写/更新缓存后失效时间
expireAfterAccess
多久没有被访问后过期
含写入/更新
maximumWeight(long)
ticker(ticker)
weigher(weigher)
removalListener
移除监听器
当元素被移除的时候会发通知
build
()
(CacheLoader)
api
增
put(key,value)
putAll(map)
删
invalidateAll(key...)
使多个key失效
invalidateAll()
使所有key失效
invalidate(key)
使失效
cleanUp()
记录失效后,并不会立即从内存清除,该方法用于主动触发失效值清理
改
查
getIfPresent(key)
获取值,不存在则返回null
get(key,callable)
key
缓存key
当缓存中存在key值时,直接返回
callable
不存在key值,则启动线程执行callable
返回值会作为key的值存储到缓存中,并且被get方法
当并发get一个key时,guava只会启动一个线程执行其中一个,不存在多个线程并发执行问题
getAllPresent(key...)
其他
asMap()
缓存的集合视图
子api
get(key)
等同于cache.getIfPresent(key)
stats()
获取统计信息
hitRate()
请求命中率
averageLoadZPenalty()
加载平均耗时,
size()
获取总数
触发清理
不会主动清理
时机
写入操作期间执行少了维护
写入很少的情况下偶尔执行读取操作
事件