Redis的持久化机制—实战

Redis的持久化共有三种方式:

  1. RDB
  2. AOF
  3. RDB与AOF的混合模式

下面我就将针对这几种模式,如何打开,关闭,持久化的文件形式,以及适用的场景来展开。

一、RDB

RDB,其实就是Redis的内存的dump文件,它的形式就是一堆二进制的东东。

1、打开RDB

Redis默认是打开RDB持久化的。

以下配置文件的任何一条触发,就会发生RDB的持久化。

save 900 1      # 900秒内发生一次键值变化,则发生持久化。
save 300 10     # 300秒内发生十次键值变化,则发生持久化。
save 60 10000   # 60秒内发生一万次键值变化,则发生持久化。

2、关闭RDB

注释上面的save命令,并在redis.conf配置文件中添加如下配置:

save ""

3、RDB特点

持久化恢复速度快,但是可能会丢失部分最近的数据。

4、手动RDB

使用如下命令:

bgsave

二、AOF

将Redis的执行命令写入文件。

1、打开AOF

在配置文件中,默认AOF是关闭的:

appendonly yes                 # 打开AOF持久化 
appendfsync everysec/no/always # 多久将数据同步到磁盘中,选择everysec比较好

另外对于AOF文件的重写,有以下两个参数控制,默认是生效的:

auto-aof-rewrite-percentage 100   # AOF文件重写后,当AOF文件比重写后文件大100%,也就是变成2倍大小的时候,会再次发生重写
auto-aof-rewrite-min-size 64mb    # AOF文件超过这个大小的时候,才会发生重写

2、AOF特点

丢失数据的可能性比较小,但是文件会比较大,数据恢复会比较慢。

3、手动AOF

运用命令:

bgrewriteaof

三、RDB与AOF的混合持久化

Redis4.0版本以后,有了混合持久化的模式,它的前部分是RDB格式的,后面的重写缓冲区的数据是通过AOF写入的。

1、打开混合持久化

打开AOF的情况下,配置文件中,默认是生效的:

aof-load-truncated   yes  # 指redis在恢复时,会忽略最后一条可能存在问题的指令,默认值yes
aof-use-rdb-preamble yes  # 是否打开RDB和AOF混合模式,默认yes打开
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值