开启RDB配置
配置redis在n秒内如果超过m个key被修改就自动做快照,下面是默认快照保存配置(这三个选项都屏蔽,则RDB禁用):
a、save 900 1 # 900秒内如果超过1个key改动,则发起快照保存
b、save 300 10 # 300秒内如果超过10个key改动,则发起快照保存
c、save 60 10000 # 60秒内如果超过10000个key改动,则发起快照保存
1、什么叫redis快照
快照,顾名思义可以理解为拍照一样,把整个内存数据映射到硬盘中,保存一份到硬盘,因此恢复数据比较快,把数据映射回去即可,不你AOF,一条条的执行操作命令。
快照是默认的持久化方式,这种方式是将内存中的数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb,可以通过配置设置自动做快照持久化的方式。
产生快照的情况有以下几种:
a、手动执行bgsave
b、手动执行save
c、根据配置文件自动执行
d、客户端发送shutdown,系统会先执行save命令阻塞客户端,然后关闭服务器
e、当主从架构时,从服务器向主服务器发送sync命令来执行复制操作时,主服务器会执行bgsave操作。
2、bgsave和save的区别:
执行save时,阻塞进程
执行bgsave时,非阻塞进程
3、RDB工作原理:
Redis默认会将快照文件存储在redis当前进程的工作目录中的dump.rdb文件中,可以通过dir和dbfilename两个参数分别指定快照文件的存储路径和文件名
4、RDB的优点
a、紧凑压缩的二进制文件,备份非常简单
b、fork子进程性能最大化
c、启动效率高
5、RDB的缺点
a、生成快照的时机问题:生产环境一般是配置15分钟,或者半个小时,假如就在这十几分钟内,redis宕机了,就会丢这十几分钟的数据。立刻手动执行bgsave,但也会丢几分钟的
b、fork子进程的开销问题
如果本文对你有帮助的话,欢迎点赞&在看&转发,这对我继续分享&创作优质文章非常重要。感谢🙏🏻
----------------------end---------------------




