1. Redis单线程为什么快?

1). 纯内存操作
2). 非阻塞的IO多路复用
3). 单线程 防止了频繁的上下文切换

  1. Redis如何删除缓存?

定时删除+惰性删除
1). 每隔100ms->随机抽一些key->查看过期工夫
2). 查某个key时->查看过期工夫->过期则删除

  1. Redis内存淘汰策略

1). Noevict不删除->报错
2). Allkey-lru:最近起码应用的key
3). Allkey-random: 随机删除
4). Volatile-lru: 有过期工夫的key中lru
5). Volatile-random:有过期工夫的中随机删除
6). Volatile-ttl: 有过期工夫的key中删更早的。

  1. LruCacheLruCache<K,V> extends LinkedHashMap

1). 构造方法true
2). 成员变量 private int CASH_SIZE
3). removeEldestEntry->return size()>CASH_SIZE