如何设计一个本地缓存( 七 )
Object removeObject(Object key);
void clear();
int getSize();
ReadWriteLock getReadWriteLock();
再来看看guava提供的Cache接口 , 相对来说也是比较简洁的:
public interface Cache<K V> {
V getIfPresent(@CompatibleWith(\"K\") Object key);
V get(K key Callable<? extends V> loader) throws ExecutionException;
ImmutableMap<K V> getAllPresent(Iterable<?> keys);
void put(K key V value);
void putAll(Map<? extends K ? extends V> m);
void invalidate(@CompatibleWith(\"K\") Object key);
void invalidateAll(Iterable<?> keys);
void invalidateAll();
long size();
CacheStats stats();
ConcurrentMap<K V> asMap();
void cleanUp();
7.是否持久化
持久化的好处是重启之后可以再次加载文件中的数据 , 这样就起到类似热加载的功效;比如ehcache提供了是否持久化磁盘缓存的功能 , 将缓存数据存放在一个.data文件中;
推荐阅读
- 明日方舟|明日方舟:早露皮肤的攻击动作设计得很出彩,化身成白熊的指挥员
- 小鱼人|如何在新赛季稳定上分?善于抓失误的小鱼人,值得认真练上一波
- 设计师|魔兽世界:9.1.5刚上线,就要9.2了?来看设计师爆料的更多细节
- 雷神|原神:曾经有一个强力五星角色,却因各种“流言蜚语”,擦肩而过
- 阴阳师|阴阳师SR川猿强度如何 是否值得抽卡 改变斗技环境 大佬的新玩具
- 手机游戏|梦幻西游手游:活力如何换金币 一切都已给出 就看你的选择
- 次世代|韩国战队全军覆没,斗鱼选手实力强大,一人击溃一个队
- 手机游戏|LOL手游第一个世界赛,破晓杯火热开战,DKG能紧随EDG夺冠吗?
- 华佗|三国杀:两位\奶爸\,朱治与华佗比,强度如何呢?
- 亲朋上分|《亲朋上分》266391亲朋下分亲朋上下分永劫无间崔三娘技能介绍 崔三娘如何获得更多技能