Redis持久化

本文探讨了Redis的两种持久化策略:RDB(快照备份)与AOF(逐条记录)。RDB通过定期或手动触发保存数据到dump.rdb文件,适合大规模恢复,但可能导致数据丢失;AOF以日志形式记录操作,实时同步,但文件较大且恢复较慢。
摘要由CSDN通过智能技术生成

Redis持久化

因为redis是内存数据库,如不把数据存入数据库或磁盘就会断电即失

RDB
默认的就是rdb
redis会创建一个单独的fork子进程来进行持久化,先将数据写入一个临时文件,待持久化过程结束后,再用这个临时文件替换上次持久化好的文件
rdb保存的一个文件就是dump.rdb

rdb触发机制

  • save的规则满足的情况下,会自动触发rdb规则
  • 执行flushall命令,也会触发我们的rdb规则
  • 退出redis,也会产生rdb文件

恢复rdb文件:只需要将rdb文件放入redis启动目录就行了,redis启动的时候会自动检查dump.rdb恢复其中的数据

优点:

  • 适合大规模的数据恢复
  • 对数据的完整性要求不高

缺点:

  • 需要一定的时间间隔进程操作,如果redis意外停机了,最后一次的修改数据就没有了
  • fork进程的时候,会占用一定的内存空间

AOF
aof保存的是appendonly.aof文件
以日志的形式来记录每个写操作,jiangredis执行过的所有指令记录下来,读操作不记录,只许追加文件但不可改写文件,redis启动后会读取文件重新构建数据。总之就是,redis重启后就会根据日志文件的内容将写指令从前到后的执行一次以完成数据的恢复工作。

只需要将appendonly改为yes就开启了aof
如果文件错误,redis是无法启动的,可以使用方法:redis-check-aof --fix appendonly.aof来修复文件。

优点:

  • 每一修改都同步,文件的完整性会更好
  • 每秒同步一次,可能会丢失一秒数据
  • 从不同步效率更高

缺点:

  • 相对于数据文件,aof远远大于rdb,修复数据比rdb慢
  • aof运行效率也要比rdb慢,所以我们redis默认的配置就是rdb持久化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值