Redis持久化机制

redis提供了两种持久化机制,分表是RDB和AOF。

RDB采用的是定时全量持久化机制,服务器宕机之后可能会丢失部分数据。

redis默认开启了RDB存储机制。

redis.conf中设置RDB部分的

关闭rdb的的方法 将 save “” 的注释打开

除非有特殊的情况,否则redis默认按照下面三种方式方式对数据进行持久化

1. save 3600 1 , 3600秒之后并且至少有1个key发生改变

2. save 300 100 , 300秒之后并且至少有100个key发生改变

3. save 60 10000  60秒之后至少10000个key发生改变

如果我们需要改变策略的话,只需要将下图的save部分注释打开,修改对应的策略即可

 RDB机制存在的问题:

rdb需要满足策略时间和键改变两个条件才可以出发全量备份,假如我们200秒内改变了100个key,由于并没有到达指定的备份时间,并不会触发备份,但服务在249秒发生的宕机,那么这100个key就会丢失

要解决RDB方式的不在,可以使用AOF持久化机制(建议生产环境使用AOF)。

AOF是基于数据日志操作实现的持久化,是增量同步方案。

在redis中开启AOF持久化机制

将appendonly no 改为 yes,同步方式选择everysec  每秒同步一次

在Redis的配置文件中存在三种同步方式,它们分别是:

appendfsync always     #每次有数据修改发生时都会写入AOF文件,能够保证数据不丢失,但是效率非常低。

appendfsync everysec  #每秒钟同步一次,可能会丢失1s内的数据,但是效率非常高。

appendfsync no          #从不同步。高效但是数据不会被持久化。

建议最好还是使用everysec 既能够保证数据的同步也能保证效率(everysec 最多会丢失一秒的数据)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值