redis实战系列5--redis持久化

一 快照持久化

简介:它可以将存在于某一时刻的所有数据都写入硬盘里面

reids.conf中的相关配置文件
stop-writes-on-bgsave-error yes  在bgsave出错时是否仍然继续执行写命令
save 900 1           每90S内如果有一次写操作,就执行一次bgsave命令
dbfilename dump.rdb      //快照被写入的位置
dir ./              //指定保存快照的路径

关键点:

  • 如果在新的快照文件创建之前,redis,系统或者硬件这三者之中的任意一个崩溃了,那么redis将丢失最近一次创建快照之后的数据

  • 当客户端向redis发送BGSAVE命令时,可以创建一个快照,此时redis会fork一个子进程来将快照写入硬盘,而父进程还是继续处理命令请求

  • save 900 1 每90S内如果有一次写操作,就执行一次bgsave命令

  • 当有一个redis服务器连接另一个服务器,并向对方发送sync命令来开始一次复制操作的时候,主服务器会执行BGSAVE命令.复制的具体过程后续文章有说明

AOF持久化

简介:
该方式叫只追加文件,他会在执行写命令时,将被执行的写命令复制到硬盘里面
.简单来说,AOF持久化会将被执行的写命令写到AOF文件的末尾,以此来运行数据发生的变化,因此,redis只要从头到尾重新执行一次AOF文件包含的所有写命令,就可以恢复AOF文件所记录的数据集

相关配置文件:
 appendonly no          是否打开aof持久化方式
 appendfsync everysec/no/always      aof的同步频率
 auto-aof-rewrite-percentage 100       配置在什么条件下重写aof文件,防止aof文件过长,过于冗余
 auto-aof-rewrite-min-size  64mb

关键点:
1appendfsync :

  • always模式,每个redis写命令都会被写入硬盘,但是这种策略会让redis处理命令的速度收到硬盘性能的影响,因为硬盘需要进行大量的写入
  • everysec模式,让Redis以每秒一次的频率对aof文件进行同步,该模式和不适用aof持久化的性能相差无几,但是可以保证,即使系统出现了崩溃,用户最多也只会丢失一秒之内产生的数据,一般推荐用该模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值