AOF丶RDB对过期键的处理
RDB
1.生成RDB文件
执行SAVE或者BGSAVE命令创建一个新的RDB文件时,程序会对数据库中的键进行检查,已经过期的键不会保存到新创建的RDB文件中.
2.载入RDB文件
启动Redis服务器,如果开启了RDB功能,那么服务器将会对RDB文件进行载入
-
服务器以主服务器模式运行: 程序会对文件中保存的键进行检查,过期的键不会被载入到数据库 服务器以从服务器模式运行: 载入RDB文件时,文件中所有的键,无论是否过期都会被载入数据库.
不过,因为主从服务器在进行数据同步的时候,从服务器的数据库会被清空,所以,一般来讲,过期键对载入RDB文件的从服务器也不会造成影响.
AOF
1.AOF文件写入
redis服务器以AOF持久化模式运行时,如果数据库中的某个过期的键还没有被惰性删除或定期删除,那么AOF文件不会因为这个过期键产生任何影响.
当过期键被惰性删除或者定期删除以后,程序会向AOF文件追加一条DEL命令,显式地记录该键已经被删除
2.AOF重写
和RDB文件创建类似,AOF在重写时也会检查键是否过期,不会将过期的键保存到重写后的AOF文件中
下一篇:
浅谈MySQL数据库的设计流程