Google Guava之cache参数详解
来源:互联网 发布:javlib最新域名 2016 编辑:程序博客网 时间:2024/06/07 15:03
Guava之cache参数详解
guava Cache数据移除:
guava做cache时候数据的移除方式,在guava中数据的移除分为被动移除和主动移除两种。
被动移除数据的方式,guava默认提供了三种方式:
1.基于大小的移除:看字面意思就知道就是按照缓存的大小来移除,如果即将到达指定的大小,那就会把不常用的键值对从cache中移除。
定义的方式一般为 CacheBuilder.maximumSize(long),还有一种一种可以算权重的方法,个人认为实际使用中不太用到。就这个常用的来看有几个注意点,
其一,这个size指的是cache中的条目数,不是内存大小或是其他;
其二,并不是完全到了指定的size系统才开始移除不常用的数据的,而是接近这个size的时候系统就会开始做移除的动作;
其三,如果一个键值对已经从缓存中被移除了,你再次请求访问的时候,如果cachebuild是使用cacheloader方式的,那依然还是会从cacheloader中再取一次值,如果这样还没有,就会抛出异常
2.基于时间的移除:guava提供了两个基于时间移除的方法
expireAfterAccess(long, TimeUnit) 这个方法是根据某个键值对最后一次访问之后多少时间后移除
expireAfterWrite(long, TimeUnit) 这个方法是根据某个键值对被创建或值被替换后多少时间移除
3.基于引用的移除:
这种移除方式主要是基于java的垃圾回收机制,根据键或者值的引用关系决定移除
主动移除数据方式,主动移除有三种方法:强调内容
1.单独移除用 Cache.invalidate(key)
2.批量移除用 Cache.invalidateAll(keys)
3.移除所有用 Cache.invalidateAll()
- Google Guava之cache参数详解
- Google Guava之--cache
- Google Guava之--cache
- Google Guava之--cache 使用
- google guava cache 处理
- Google Guava Cache
- google Guava Cache使用
- Java Cache系列之Guava Cache实现详解
- Java Cache系列之Guava Cache实现详解
- Java Cache系列之Guava Cache实现详解
- Guava Cache 实现详解
- Google的Guava cache 应用
- Google Guava Cache 示列
- Guava Cache之Cache接口
- Guava学习之cache
- [Google Guava]-缓存详解
- Google guava cache使用样例
- Google Guava Cache实例与分析
- UIView的重绘机制——drawRect
- OpenSceneGraph实现的NeHe OpenGL教程 - 第四十课
- 拆轮子系列:拆 OkHttp
- Python快速学习第九天--安装并操作Mysql数据库
- php array_map array_walk for foreach效率比较 phpstudy apache php5.5 windows7旗舰版
- Google Guava之cache参数详解
- HDU 3672 Caves ACM/ICPC 2007 成都区域赛 C 背包+树形DP
- 所有子序列和STL
- 教你自己写Android第三方库
- 51nod 1246 罐子和硬币
- ny 士兵杀敌
- 红黑树
- I/O复用系统调用之epoll
- Stanford机器学习---第九讲. 聚类