Redis - 过期删除策略
2019-07-15 / 1 min read
Redis 采用的过期策略: 懒汉式删除 + 定期删除
三种过期删除策略
定时删除
设置key的过期时间的同时为key设置一个定时器,在key过期时对key进行删除。
优点: 保证内存被尽快回收。
缺点:
- 若key过多,删除key占用CPU时间
- 定时器的创建耗时,若对每个key创建定时器,会有大量定时器产生,影响性能
懒汉式删除
在访问key的时候,判断key是否过期,如过期,删除key.
优点: 删除操作只发生个获取key的时候,对CPU占用少
缺点:若大量key超时,但很长一段时间内都没有访问,那些key会一直占用内存,可能会有内存泄漏
定期删除
每隔一段时间执行一次删除过期key
优点:
- 减少对CPU的占用
- 克服懒汉式删除的缺点
缺点:获取的key可以已经是过期的