视频地址: https://www.bilibili.com/video/BV1Ha411c7hB
代码地址: https://gitee.com/crazyliyang/video-teaching.git
1.删除机制规则
Redis 无论有没有设置expire, 都会遵循redis的配置好的删除机制, 规则如下:
默认的规则是 volatile-lru 设置了expire的key, 将会在过期时间到后删除; 没有设置expire的缓存key,
不会被删除; 当到达最大设置内存maxMemory 时Redis先删除 设置了过期时间 且过期的, 如果不满足内存要求,然后会按LRU算法删除设置了过期时间但还没有过期的key, 如果还是不能满足内存需求, 将OOM
Redis 无论有没有设置expire, 都会遵循redis的配置好的删除机制, 在配置文件里设置:
redis 最大内存不足"时,数据清除策略,默认为" volatile-lru
volatile-lru ->
"过期集合"中的数据采取LRU(近期最少使用)算法.
如果对key使用"expire"指令指定了过期时间, 那么此key将会被添加到"过期集合"中。
首先将已经过期的数据优先移除. 若不能满足最