1.过期数据
Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态
- XX :具有时效性的数据
- -1 :永久有效的数据
- -2 :已经过期的数据或被删除的数据或未定义的数据
2.底层实现
(1)检测易失数据(会过期的数据集server.db[i]Jexpries)
。volatile-lru: 挑选最近最少使用的数据淘汰
。volatile-lfu: 挑选最近使用次数最少的数据淘汰
。volatile-random:任意选择数据淘汰
。volatile-ttl:挑选即将过期的数据淘汰
(2)检测全库数据(所有数据集server .db[i].dict)
。allkeys-lru: 挑选最近最少使用的数据淘汰
。alkeys-lfu:挑选最近使用次数最少的数据淘汰
。allkeys-random:任意选择数据淘汰
(3)放弃数据淘汰
。redis.conf文件中配置maxmemory-policy noeviction
。no-enviction: 禁止数据淘汰,会引|发00M(Out Of Memroy)。Redis4.0默认策略
3.数据删除策略
(1