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

丰木
325 声望20 粉丝

遇见超乎想象的自己!