0%

redis数据持久化方式

文章字数:267,阅读全文大约需要1分钟

redis一般是将数据保存在内存中,以提高读取写入的效率。但是一旦断电,数据也会全部丢失。数据持久化就是将内存中的数据写入到磁盘,保证数据的完整性。

RDB(默认方式)

定时将内存中的快照保存成二进制的副本
(bgsave命令触发,父进程创建子线程执行fork操作)
优点

  1. 二进制文件恢复速度快

缺点

  1. 开销大,不能做到实时

AOF

开启后,redis每执行一次修改数据的命令,都会把命令添加到AOF文件中,根据文件就能进行恢复。

优点

  1. 实时持久化

缺点

  1. 恢复速度慢
  2. 文件体积会无限制变大(时间越久执行的命令越多),需要定期整理

最佳实践

RDBAOF都开启,恢复时先用RDB,剩余部分再使用AOF恢复。AOF中的命令也只用保存上一次RDB之后进行的操作就行了