目录
第一步:在redis-6.2.7目录下打开redis.conf配置文件
第二步:输入/dump.rdb进行快速搜索(此时可以按i后对名字进行修改)
# The filename where to dump the DB
第三步:利用/dir ./快速查看到文件保存的路径(此时可以按i后对路径进行修改)
第一种:根据redis.conf配置文件中快照的默认配置触发
什么是RDB
- 在指定的时间间隔内将内存的数据集快照写入磁盘,也就是行话讲的快照,它恢复时是将快照文件直接读到内存里。
RDB持久化机制的优势
- 适合大规模的数据恢复
- 对数据完整性和一致性要求不高更适合使用
- 节省磁盘空间
- 恢复速度快
RDB持久化机制的劣势
- 备份周期固定,当Redis意外掉的话,就会丢失最后一次快照后的所有修改操作。
查看RDB快照的保存文件与路径:dump.rdb
第一步:在redis-6.2.7目录下打开redis.conf配置文件
vim redis.conf
第二步:输入/dump.rdb进行快速搜索(此时可以按i后对名字进行修改)
- 搜索结果:
- # sanitize-dump-payload no
# The filename where to dump the DB
- dbfilename dump.rdb
第三步:利用/dir ./快速查看到文件保存的路径(此时可以按i后对路径进行修改)
- 搜索结果:
- # above using the 'dbfilename' configuration directive.
- #
- # The Append Only File will also be created inside this directory.
- #
- # Note that you must specify a directory here, not a file name.
dir ./
RDB的三种触发机制
第一种:根据redis.conf配置文件中快照的默认配置触发
- 打开redis.conf配置文件(在redis-6.2.7目录进行查看)
vim redis.conf
- 默认配置(可以输入/save 3600进行快速查找)(找到后,可以在按o在下一行添加自我指定的快照周期):
- # save 3600 1 ——表示3600秒内(一小时)如果至少有1个key的值变化,则保存。
- # save 300 100 ——表示300秒内(五分钟)如果至少有100个 key 的值变化,则保存。
- # save 60 10000 ——表示60秒内如果至少有 10000个key的值变化,则保存。
第二种:执行flushall命令触发(flushall:当前数据库中key值全部清空命令)
第三种:手动触发
- save命令(会阻塞,不建议使用)
- 由于redis在执行命令时会采取排队的形式,因此会阻塞redis命令
- bgsave(后台异步操作,建议使用)
- save命令(会阻塞,不建议使用)
与RDB相关的高级配置
stop-writes-on-bgsave-error配置
- 默认值是yes。当Redis无法写入磁盘的话,直接关闭Redis的写操作。
rdbcompression配置
- 默认值是yes。对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,redis会采用LZF算 法进行压缩。如果你不想消耗CPU来进行压缩的话,可以设置为关闭此功能,但是存储在磁盘上的快照 会比较大。
dbchecksum配置
- 默认值是yes。在存储快照后,我们还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加 大约10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能。
恢复数据
- 只需要将rdb文件放在Redis的启动目录(redis.conf所在的目录),Redis启动时会自动加载dump.rdb并恢复数据。
本文含有隐藏内容,请 开通VIP 后查看