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
# 多久持久化一次