还不懂 redis 持久化?看看这个

Redis 是一个内存数据库,为了保证数据不丢失,必须把数据保存到磁盘,这就叫做持久化。

Redis 有两种持久化方法: RDB 方式以及 AOF 方式

RDB 持久化

前言

RDB持久化把内存中的数据持久化到硬盘,生成RDB文件,也就是“快照”。通过RDB文件可以重新恢复内存中的数据。RDB文件是一个压缩过的文件,因此RDB持久化的体积比AOF小,因为存储的是数据,所以恢复很快,性能好,但是可能会丢失最后一次持久化的数据。

RDB持久化机制的两种方式

显示开启持久化

Save命令

SAVE命令会阻塞Redis服务器的主进程,直到RDB文件创建完毕。在服务器进程阻塞期间,服务器不能处理任何命令请求

BGSAVE命令

BGSAVE命令会fork一个子进程,由子进程负责创建RDB文件,父进程继续处理命令请求

  • 子进程执行BGSAVE命令期间,SAVE、BGSAVE命令会被父进程拒绝。因为Redis不允许两个进程同时进行持久化
  • BGSAVE和BGREWRITEAOF命令同样不能同时执行,性能考虑

自动持久化机制

通过配置文件redis.conf

# 多久持久化一次

评论(0条)

刀客源码 游客评论