2021-08-23 Redis中AOF、RDB和复制功能对过期键的处理

思考

1、生成/加载RDB文件、AOF写入、AOF重写、主从复制时,对过期的key会如何处理?
2、当访问过期key时,redis会如何处理?


RDB文件生成、加载时对过期key的处理

生成RDB文件时,会略过已过期的key
加载RDB文件时,若为主服务器,会略过过期key,若为从服务器,则不会略过过期key


AOF写入

过期key没被定期删除/惰性删除,AOF文件不会有任何改变
定期删除:定期查询要过期的key,如果有删除该key(AOF文件中append一条DEL指令)
惰性删除:已过期key存在redis中,没人访问,一直存在,有人访问,发现过期,会DEL,再返回null
Redis(6)删除策略(定时删除、惰性删除、定期删除)和数据逐出策略


AOF重写

过期的key会被忽略


主从复制

主从模式下,从服务器过期的key不会get后删除
该模式下的删除由主服务器控制,当对主服务器get过期key时,就会出现惰性删除,并将该DEL指令发送给从服务器,从服务器就会删除对应key


小结

RDB文件生成:忽略过期key
EDB文件加载:主服务器会忽略过期key,从服务器不会忽略
AOF写入:惰性删除/定期删除时会写入DEL过期key指令
AOF重写:忽略过期key
主从复制:主服务器控制过期key的DEL,执行后会发送指令给所有子服务器,实现DEL操作


学习自 —— 《Redis设计与实现》 9.7

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值