Redis---------4 数据安全与性能保障

目录

1 持久化选项

2  复制

3  处理系统故障

4  Redis事务

5  非事务性流水线

6  性能方面的注意事项


1  持久化选项

两种持久化方法:一种是快照-----snapshotting;一种是只追加文件------append-only file(AOF)

1> 快照   将某一时刻的所有数据都写入到硬盘中;

2> AOF   在执行写命令时,将被执行的命令复制到硬盘中;

1.1  快照持久化

        通过定义可知,创建某个时刻数据的副本到硬盘中。  如果Redis、系统、硬件出现故障,则系统会丢失最近一次备份成功之后的所有数据。所以,快照持久化适用于丢失一部分数据不会造成问题的场景。

        常用的快照持久化方法:

1> 客户端通过向Redis发送BGSAVE命令创建快照:除WINDOWS外,会创建一个fork子进程,负责将快照写入硬盘,父进程继续接受命令写入;

2> 客户端还可以通过向Redis发送SAVE命令创建快照:创建完毕之前不接受其他命令写入;

3> 如果配置了 SAVE 60 10000命令时,从最近创建的快照时间节点算起,60秒内写入的次数达到10000次时就会执行BGSAVE创建快照

4> 当Redis接受到服务器SHUTDOWN指令时,或者接收到标准TRIM信号时,会执行SAVE命令,阻塞客户端,即不执行客户端的任何命令,快照创建完成后关闭服务器;

5> 两个Redis服务器连接时,如果接收到另一个服务器的同步命令时,主服务器未执行BGSAVE或者没有刚执行完的BGSAVE,则会执行一次BGSAVE创建快照。

1.2 AOF持久化

    1> AOF持久化会将被执行的命令写入到文件的末尾,以记录数据的变化。

       appendsync配置选项对AOF文件的同步频率的影响如下

       always:每个redis写命令都要同步硬盘

       everysecond: 每秒执行一次同步,显示的将多个写命令写入到硬盘中

       no: 让操作系统来决定合适同步

上述的同步频率,always 对硬盘写入的性能考验太大,一般使用每秒执行一次同步,no选项有两个问题:一是系统崩溃,丢失的不定量数据无法预估,硬盘写入速度不够时,当缓冲区等待写入的数据填满时,写入操作会变慢。

2> 重写/压缩AOF

  由于每秒同步写入命令,AOF文件的SIZE会变得很大,有可能会用完硬盘空间,导致宕机。同时体积大的时候还原操作时间会非常长,因此有必要对对文件进行重写。

  Redis提供BGREWRITEAOF命令重写文件,移除冗余命令实现文件的压缩。常用参数如下

  auto-aof-rewrite-percentage   用来判断比上一次同步时体积的倍数

  auto-aof-rewrite-min-size        设置重写的最小文件大小比如 auto-aof-rewrite-min-size 64mb

  数据持久化非常重要,除此之外还需要对文件进行备份。

 

2 复制

  复制可以让其他服务器有一个不断更新的副本,用来处理客户端的请求。

  

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值