前言
关于Redis的知识点总结了一个思维导图分享给大家
Redis是一个内存数据库,为了保证数据不丢失,必须把数据保存到磁盘,这就叫做持久化。
Redis有两种持久化方法:RDB方式以及AOF方式。
RDB持久化
RDB持久化把内存中的数据持久化到硬盘,生成RDB文件,也就是“快照”。通过RDB文件可以重新恢复内存中的数据。RDB文件是一个压缩过的文件,因此RDB持久化的体积比AOF小,因为存储的是数据,所以恢复很快,性能好,但是可能会丢失最后一次持久化的数据。
RDB持久化机制的两种方式
显示开启持久化
Save命令
SAVE命令会阻塞Redis服务器的主进程,直到RDB文件创建完毕。在服务器进程阻塞期间,服务器不能处理任何命令请求
BGSAVE命令
BGSAVE命令会fork一个子进程,由子进程负责创建RDB文件,父进程继续处理命令请求
1.子进程执行BGSAVE命令期间,SAVE/BGSAVE命令会被父进程拒绝。因为Redis不允许两个进程同时进行持久化
2.BGSAVE和BGREWRITEAOF命令同样不能同时执行,性能考虑
自动持久化机制
通过配置文件redis.conf
#多久持久化一次🐲🐲
#900秒内有一个key改动 300秒内10个 60秒内10000个
save 900