RDB
RDB全称Redis DataBase Backup file(Redis数据备份文件),也被叫做Redis数据快照,默认是开启的。简单来说就是把当前内存中所有的数据都记录在硬盘上(类似于拍照,记录当前时刻的数据)。当Redis实例故障重启后,会从硬盘读取快照文件,恢复数据。快照文件名称为RDB文件,默认保存在当前运行目录
Redis内部有触发RDB的机制,可以在Redis.conf中找到,格式如下:
例如 3600 1 代表在3600秒内至少有一个key被修改,则执行bgsave,如果是save “”则表示禁用RDB
RDB其他配置也可以在redis.conf文件中设置:
是否压缩,建议不开启,压缩会消耗cpu
RDB文件名称
RDB备份文件存储的路径
bgsave基本流程
- fork主进程得到一个子进程,共享内存空间
- 子进程读取内存数据并写入新的RDB文件
- 用新的RDB文件替换旧的RDB文件
RDB的缺点
- RDB执行的时间间隔长,两次RDB之间写入数据有丢失风险
- fork子进程、压缩、写RDB文件比较耗时
AOF
AOF全称Append Only File(追加文件)。Redis处理的每一个修改命令都会被记录在AOF文件,可以看做是命令日志文件。在Redis中默认是关闭的
AOF相关配置解读
开启AOF
aof默认是关闭的,可在redis.conf配置文件中开启AOF:
AOF命令记录的频率
AOF文件重写
aof文件重写,也就是对AOF命令进行压缩简化,执行bgrewriteaof命令
可通过修改配置文件自动重写AOF文件:
评论区