Redis数据持久化

Redis数据持久化

数据持久化

RDB方式

1
RDB持久化是把内存中的数据做快照的方式持久化到磁盘中

RBD模式会使用

save 模式

1
2
3
默认在redis正常退出时进行持久化动作 持久化到启动目录磁盘rumb.rdb文件

或者redis-cli命令行执行save命令进行数据的持久化,但是会占用主进程导致主进程无法再处理读写请求.

bgsave

1
2
根据配置文件 save 60 100060秒内1000key修改自动持久化到磁盘
异步持久化 采用fork模式 主进程fork一个子进程进行后台save处理

rdb的缺点

1
2
rdb的执行间隔时间长,两次rdb之间写入数据有丢失的风险
fofk子进程,压缩,写出rdb文件都比较耗时

禁用RBD方式

1
redis.conf 配置文件中写入  save ""

AOF方式

1
AOF持久化是把redis的写操作通过日志的方式记录到AOF文件中,所以性能比较高,并且数据丢失去的可能性比较低

AOF默认是关闭的需要通过redis.conf开启

1
2
3
4
#是否开始AOF功能 默认关闭
appendonly yes
# AOF文件名称
appendfilename "appendly.aof"

AOF的命令记录频率也可通过redis.conf文件配置

1
2
3
4
5
#表示没执行一次写命令,立即记录到AOF文件
appendfsync always
#写命令执行完先放AOF缓存区,然后表示没隔一秒将缓冲数据写道AOF文件中,是默认方案
appendfsync everysec
#写命令执行完先放入AOF缓存区,由系统操作决定缓存区何时保存到磁盘
配置项 刷盘时机 优点 缺点
always 同步刷盘 可靠性高,几乎不丢失数据 性能影响大
everysec 每秒刷盘 性能适中 最对丢失一秒数据
no 操作系统控制 性能最好 可靠性较差,可能丢失大量数据
1
bgrewritraof命令

image-20240317112345973

总结

image-20240317112638077

数据同步

主从模式

全量同步

image-20240317132942466

image-20240317134114019

增量备份

image-20240317134820075

主从优化

image-20240317135233290

全量与增量的区别

image-20240317135335591


Redis数据持久化
http://ziiix.cn/2024/11/08/Redis数据持久化/
作者
John Doe
发布于
2024年11月8日
许可协议