Fork me on GitHub

Redis系列四持久化

Redis持久化

redis所有数据保持在内存中,对数据的更新将异步保存到磁盘上。

RDB

RDB是Redis用来进行持久化的一种方式,是把当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。

触发机制

  • save 同步
  • bgsave 异步
  • 自动

1.RDB是Redis内存到硬盘的快照,用于持久化

2.save通常会阻塞Redis

3.bgsave不会阻塞Redis,但是会fork新进程

4.save自动配置满足任一就会被执行

5.有些触发机制不容忽视

AOF

三种策略

  • always
  • everysec
  • no
命令 always everysec no
优点 不丢失数据 每秒一次fsync丢一秒数据 不用管
缺点 IO开销较大,一般的sata盘只有几百TPS 丢一秒数据 不可控
RDB与AOF
命令 RDB AOF
启动优先级
体积
恢复速度
数据安全性 丢数据 根据策略决定
轻重