admin管理员组

文章数量:1570220

RDB快照(snapshot)

在默认情况下, Redis 将内存数据库快照保存在名字为 dump.rdb 的二进制文件中。你可以对 Redis 进行设置, 让它在“ N 秒内数据集至少有 M 个改动”这一条件被满足时, 自动保存一次数据集

# save 60 1000    //关闭RDB只需要将所有的save保存策略注释掉即可
60 秒内有至少有 1000 个键被改动

还可以手动执行命令生成RDB快照,进入redis客户端执行命令save或bgsave可以生成dump.rdb文件,每次命令执行都会将所有redis内存快照到一个新的rdb文件里,并覆盖原有rdb快照文件。
注意:bgsave是后台现场执行的,使用save会阻塞redis主进程

bgsave和save对比

AOF(append-only file)

从 1.1 版本开始, Redis 增加了一种完全耐久的持久化方式: AOF 持久化,将修改的每一条指令记录进文件appendonly.aof中(先写入os cache,每隔一段时间fsync到磁盘)
比如执行命令**“set name lisi”**,aof文件里会记录如下数据:

*3
$3
set
$4
name
$4
lisi

这是一种resp协议格式数据,星号(*)后面的数字代表命令有多少个参数,$号后面的数字代表这个参数有几个字符。

注意,如果执行带过期时间的set命令,aof文件里记录的是并不是执行的原始命令,而是记录key过期的时间戳
比如执行“set name lisi ex 1000”,对应aof文件里记录如下:

*3
$3
set
$4
name
$4
lisi
*3
$9
PEXPIREAT
$4
name
$13
1604249786301

AOF缓冲区,根据

本文标签: 持久数据RedisAOFrdb