Redis持久化方法

持久化即将数据存储在硬盘中,Redis为我们提供了两种持久化选项:一种叫快照(snapshoting),另一种叫只追加文件(append-only file,AOF)。

快照(snapshoting)

快照就是将某个时刻的数据持久化到硬盘。如果系统崩了,那么用户只是丢失最近一次生成快照之后更改的数据,之前的数据还是存在的。

创建快照的几种方法:

  1. 客户端向Redis发送BGSAVE命令创建快照。
  2. 客户端向Redis发送SAVE命令创建快照。
  3. 设置save配置选项,可以自动触发BGSAVE命令,触发一次写一次快照。
  4. 当一个Redis服务器与另一个Redis服务器互联时,并且向对方发送SYNC命令,如果主服务器没有执行BGSAVE或者没有刚执行BGSAVE,那么就会执行BGSAVE并创建一个快照。

AOF

AOF就是在执行写命令的时候,被执行的写命令也会被复制到硬盘里。通过名字append就会知道,这要写也是写在文件的末尾,以此来记录数据的变化。AOF持久化可以通过配置append-only yes选项打开,配置appendfsync可以确定同步频率。

appendfsync选项

  • always,每个Redis命令都执行,也就是都要同步到硬盘,很显然这样搞得Redis速度也够呛,但是这种情况系统崩了的话,丢失的数据也最少。
  • everysec,看名字就知道是每秒钟,稍稍比alway写的频率低了一些。这种方法基本权衡了安全和性能,写的速度也没那么快了,但也不至于像no那样丢失的命令那么多。
  • no,这个就完全取决于操作系统了,OS说啥时候同步就啥时候同步。这个方法基本就不推荐使用了,因为刚才也说了,如果系统出点啥问题,这个选项丢失数据最多

参考资料

Redis In Action》, siah L. Carlson, Manning

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值