Redis 持久化

redis持久化分为两种RDB(redis DB)和AOF(appendonlyfile)

一、RDB

在默认的情况下redis将数据以快照保存到dump.rdb的二进制文件中,里面存的是数据。 发生故障时,数据容易丢失。
方式:产生一个rdb

  1. 阻塞方式:有写操作时,redis不能提供服务。一般不用
  2. 非阻塞方式:bgsave 子进程去写数据
    默认配置策略:
      秒  写的操作次数
save  60  10000
save  300  10
save 900 1

二、AOF

不能保证数据不丢失,文件里面存的是命令数据,默认是关闭的
要开启aof改配置文件

appendonly yes

配置策略:
appendfsync的选项

  1. always:服务器每写一个命令就调用一次fdatasync,将缓冲区buffer的命令数据,写入到硬盘。发生故障最多丢一条命令,安全可靠,效率低。
  2. everysec: (默认) 服务器每一秒钟,写入一次,最多丢失一秒数据
  3. no: 服务器不主动调用fdatasynce,由操作系统决定何时将缓冲区中的命令数据写入硬盘。最多丢失一个缓冲区的数据,不可靠。
    机器重启后redis会重写aof命令数据,重写就是减小aof文件的大小。

两种方式都开启的话,重启后只恢复aof文件命令。

你可能感兴趣的:(Redis 持久化)