Redis之持久化

本文介绍了Redis的两种主要持久化方式:RDB快照和AOF日志。RDB通过创建数据集的时间点副本实现持久化,而AOF则记录每个写操作确保数据恢复。文章详细解释了它们的配置选项及优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到磁盘来保证持久化。
Redis支持四种持久化方式:
    一、 Snapshotting(快照)也是默认方式;RDB
    二、Append-Only file(缩写aof)的方式;
    三、虚拟内存方式;
    四、diskstore方式;

RDB配置

save 900 1                              # 在900秒内如果键值修改过1次就快照
save 300 10                             # 在300秒内如果键值修改过10次就快照
save 60 10000                           # 在60秒内键值修改过10000次就快照

stop-writes-on-bgsave-error yes         # 后台备份出错时,是否禁止新的写入操作?
如果不禁止容易造成数据不一致
rdbcompression yes                      # 导出的rdb文件是否压缩
rdbchecksum yes                         # 恢复时导入rdb文件是否检验完整性、是否检验版本是否一致
dbfilename dump.rdb                     # 导出来得rdb文件名
dir /var/lib/redis                      # rdb的存放路径

AOF配置

appendonly no                           # 是否开启aof功能
appendfilename "appendonly.aof"         # 文件名

appendfsync always                      # 只要一修改就同步至缓冲区,并同步至磁盘
appendfsync everysec                    # 每秒将数据同步至缓冲区,并同步至磁盘
appendfsync no                          # redis不设定同步策略,由内核设定的参数决定是否同步

no-appendfsync-on-rewrite no            # appendfsync设定为always或everysec的话,还要不要同步磁盘

auto-aof-rewrite-percentage 100         # 每隔多久重构aof文件,单位秒
auto-aof-rewrite-min-size 64mb          # aof文件最小为多少时重构一次aof文件。搭配上一条使用

aof-load-truncated yes                  # 崩溃修复后自动进行全备

AOF对比RDB

AOF更安全,可以将数据即时同步到文件中,但是消耗磁盘I/O,效率低;
Snapshot更高效,它是服务器在正常运行情况下数据同步最佳手段,文件尺寸小,效率高,但安全性低;

另外的话,RDB只是将所有的写操作保存,读操作不保存;

 

https://www.jianshu.com/p/af15a17c300a

https://www.jianshu.com/p/bedec93e5a7b

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值