Redis4个问题

  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 extends LinkedHashMap

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

你可能感兴趣的:(redis)