+
95
-

redis持久化方案rdb和 aof 有什么不同?

sql

redis持久化方案rdb和 aof 有什么不同?


网友回复

+
15
-

RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中。即在指定目录下生成一个dump.rdb文件。Redis 重启会通过加载dump.rdb文件恢复数据。

从配置文件了解RDB

打开 redis.conf 文件,找到 SNAPSHOTTING 对应内容
save <seconds> <changes>
# save ""
save 900 1
save 300 10
save 60 10000

解说:save <指定时间间隔> <执行指定次数更新操作>,满足条件就将内存中的数据同步到硬盘中。官方出厂配置默认是 900秒内有1个更改,300秒内有10个更改以及60秒内有10000个更改,则将内存中的数据快照写入磁盘。

若不想用RDB方案,可以把 save "" 的注释打开,下面三个注释。

2 指定本地数据库文件名,一般采用默认的 dump.rdb

dbfilename dump.rdb 3 指定本地数据库存放目录,一般也用默认配置 dir ./ 4 默认开启数据压缩 rdbcompression yes 解说:配置存储至本地数据库时是否压缩数据,默认为yes。Redis采用LZF压缩方式,但占用了一点CPU的时间。若关闭该选项,但会导致数据库文件变的巨大。建议开启。 触发RDB快照

1 在指定的时间间隔内,执行指定次数的写操作

2 执行save(阻塞, 只管保存快照,其他的等待) 或者是bgsave (异步)命令

3 执行flushall 命令,清空数据库所有数据。

4 执行shutdown 命...

点击查看剩余70%

我知道答案,我要回答