Redis(六):Redis持久化

1、RDB
2、AOF

redis配置

Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf

• Redis的两种持久化操作以及如何保障数据安全(快照和AOF)
持久化使用的方式:RDB持久化、AOP持久化、无持久化、同时使用RDB和AOF

持久化配置:

快照持久化配置选项
AOF持久化配置选项

Redis会定期保存数据快照至一个rbd文件中,并在启动时自动加载rdb文件,恢复之前保存的数据。可以在配置文件中配置Redis进行快照保存的时机:

save [seconds] [changes]

意为在[seconds]秒内如果发生了[changes]次数据修改,则进行一次RDB快照保存,例如

save 60 100

会让Redis每60秒检查一次数据变更情况,如果发生了100次或以上的数据变更,则进行RDB快照保存。可以配置多条save指令,让Redis执行多级的快照保存策略。Redis默认开启RDB快照。

手动快照:

也可以通过BGSAVE命令手动触发RDB快照保存。
客户端发送BGSAVE命令,Redis会调用fork来创建一个子进程负责写快照,主进程继续处理请求
客户端发送SAVE命令,主进程响应操作,快照创建完毕之前不再响应其它命令,Redis收到SHUTDOWN关闭服务器命令或者接收到标准TERM信号时,也会执行SAVE命令
当一个Redis连接另一个Redis服务器,并向对方发送SYNC命令来开始一次复制操作时,如果主服务器目前没有在执行BGSAVE操作,或者主服务器并非刚刚执行完BGSAVE,那么主服务器会执行BGSAVE命令。

RDB的优点:

对性能影响最小。如前文所述,Redis在保存RDB快照时会fork出子进程进行,几乎不影响Redis处理客户端请求的效率。
每次快照会生成一个完整的数据快照文件,所以可以辅以其他手段保存多个时间点的快照(例如把每天0点的快照备份至其他存储媒介中),作为非常可靠的灾难恢复手段。
使用RDB文件进行数据恢复比使用AOF要快很多。

RDB的缺点:

快照是定期生成的,所以在Redis crash时或多或少会丢失一部分数据。
如果数据集非常大且CPU不够强(比如单核CPU),Redis在fork子进程时可能会消耗相对较长的时间,影响Redis对外提供服务的能力。

采用AOF持久方式时,Redis会把每一个写请求都记录在一个日志文件里。在Redis重启时,会把AOF文件中记录的所有写操作顺序执行一遍,确保数据恢复到最新。AOF默认是关闭的,如要开启,进行如下配置:
appendonly yes

— The end —

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值