>데이터 베이스 >Redis >RDB-Aof 하이브리드 지속성

RDB-Aof 하이브리드 지속성

齐天大圣
齐天大圣원래의
2020-05-22 16:47:21221검색

之前分别写过RDB持久化以及AOF持久化的文章,他们各有各的优缺点。rdb文件体积小,加载速度快,但不能做到实时持久化。aof可以做到实时持久化,但是文件体积比起rdb太过巨大。那有没有办法把这两种方式结合起来,文件体积小,另外还能做到实时持久化呢?

非常幸运,redis从4.0后就支持rdb-aof混合持久化了。而且是现在比较推荐的方式。

配置也非常简单,只需要配置两个选项即可。

appendonly yes
aof-use-rdb-preamble yes

注意,appendonly也必须设为yes。

案例

通过一个案例,展示给大家看看rdb-aof混合持久化的过程。

目前,我redis数据是空的

cat appendonly.aof

该文件目前没有任务内容。现在,我们执行一条set命令,再来看看

# 执行了一条命令后
127.0.0.1:6379> set name gwx
OK
# appendonly.aof里面有内容了
# cat appendonly.aof 
*3
$3
set
$4
name
$3
gwx

现在aof文件里存放的是正常的aof格式内容。然后再执行bgrewriteaof及一个set命令后,再看看appendonly.aof内容。

127.0.0.1:6379> bgrewriteaof
Background append only file rewriting started
127.0.0.1:6379> set age 28
OK
# cat appendonly.aof 
REDIS0009 redis-ver5.0.5
redis-bits		

위 내용은 RDB-Aof 하이브리드 지속성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.