Redis持久化

Redis持久化

Redis持久化
RDB:默认情况下,Redis是将内存中的所有数据保存到名为dump.rdb的文件中,内容是二进制的。
具体保存的时机为:在多少秒内数据有多少改动,然后持久化一次数据。
配置文件内为save 100 1000此种形式。可以配置多个save X X,多个条件满足任意一个都会持久化数据。
也可以手动执行RDB快照,客户端执行save命令或者bgsave命令,执行之后会持久化内存中所有的数据,覆盖原有的RDB文件。
在这里插入图片描述
关闭RDB持久化,只需要注释掉所有的save X X。
如果在RDB持久化触发之前,Redis宕机,会丢失部分数据(上一次持久化之后的数据)
AOF:将所有的修改命令(增删改)写入AOF文件。
AOF执行时机:
Appendfsync always:每次有修改命令就执行一次fsync,追加命令到AOF文件末尾。
Appendfsync everysec:每秒执行一次fsync,故障时会丢失1秒的数据。
Appendfsync no:不主动执行fsync,具体时机由操作系统决定。数据不安全。
AOF文件中的命令会重写:把一些垃圾或者重复的命令简化。
列如:incr autonum;执行五次会简化为set autonum 5+原来的数值。
AOF重写的频率:

Auto-aof-rewritre-min-size 100mb 

意思是:AOF文件达到100mb时会重写。

Auto-aof-rewrite-percentage 100

意思是:AOF至上一次重写增大了100%之后会再次重写。
手动重写命令:bgrewriteaof(后台子进程执行)

4.0之后混合持久化:
开启方式:在配置文件里面
Aof-use-rdb-preamble no 默认为no,改为yes开启。开启此配置需要开启aof持久化。
开启后,aof在重写时会把内存中的数据以rdb文件存储的二进制格式写入aof文件,在下一次触发aof重写之前还是追加修改命令的形式持续持久化数据。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值