- Redis 单线程为什么快?
1). 纯内存操作
2). 非阻塞的 IO 多路复用
3). 单线程 防止了频繁的上下文切换
- Redis 如何删除缓存?
定时删除 + 惰性删除
1). 每隔 100ms-> 随机抽一些 key-> 查看过期工夫
2). 查某个 key 时 -> 查看过期工夫 -> 过期则删除
- Redis 内存淘汰策略
1). Noevict 不删除 -> 报错
2). Allkey-lru:最近起码应用的 key
3). Allkey-random: 随机删除
4). Volatile-lru: 有过期工夫的 key 中 lru
5). Volatile-random:有过期工夫的中随机删除
6). Volatile-ttl: 有过期工夫的 key 中删更早的。
- LruCacheLruCache<K,V> extends LinkedHashMap
1). 构造方法 true
2). 成员变量 private int CASH_SIZE
3). removeEldestEntry->return size()>CASH_SIZE