删除策略和内存淘汰机制
1 删除策略
Redis是一个内存级数据库,内存中的数据通过TTL指令获取其状态
- XX:具有时效性的数据
- -1:永久有效的数据
- -2:已经过期的数据
过期数据:已经达到了有效期的数据,expires中存储了每个地址上数据的有效时间
注意事项
- Redis服务器实际使用的是惰性删除策略和定期删除策略
- 执行save命令或者bgsave命令所产生的RDB文件不会包含已经过期的键
- 执行bgrewriteaof命令重写aof文件不会包含已经过期的键
- 当一个键被删除之后,服务器会追加一条del命令到现有aof文件末尾
- 主服务器删除一个过期键之后,会向从服务器发送del命令
- 从服务器即使发现键过期也不会删除它,而是等待主服务器发来del命令
1.1 定时删除
创建一个定时器,当key设置有过期时间,且过期时间到达时,定时器立即执行删除操作
优点:节约内存,到时就删除
缺点&#