redis-持久化
一、RDB快照持久化
1. 执行save和bgsave命令
2. 配置文件设置save <seconds> <changes>规则,自动间隔性执行bgsave命令
3. 主从复制时,从库全量复制同步主库数据,主库会执行bgsave
4. 执行flushall命令清空服务器数据
5. 执行shutdown命令关闭Redis时,会执行save命令
save会阻塞redis进程,再快照创建完之前不能出来其他请求
# 900秒内有1次key改变则触发
save 900 1
# 300秒内有10次key改变则触发
save 300 10
# 60秒内有10000次key改变则触发
save 60 10000
优点:
缺点:
二、AOF持久化
# appendonly参数开启AOF持久化
appendonly no
# AOF持久化的文件名,默认是appendonly.aof
appendfilename "appendonly.aof"
# AOF文件的保存位置和RDB文件的位置相同,都是通过dir参数设置的
dir ./
# 同步策略(always/everysec/no)
appendfsync everysec
# aof重写期间是否同步
no-appendfsync-on-rewrite no
# 重写触发配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
# 加载aof出错如何处理
aof-load-truncated yes
# 文件重写策略
aof-rewrite-incremental-fsync yes
# 同时开启rdb、aof
aof-use-rdb-preamble yes
부록
appendfsync always:
将aof_buf缓冲区的所有内容写入并同步到AOF文件,每个写命令同步写入磁盘
appendfsync everysec:
将aof_buf缓存区的内容写入AOF文件,每秒同步一次,该操作由一个线程专门负责
appendfsync no:
将aof_buf缓存区的内容写入AOF文件,什么时候同步由操作系统来决定
rewrite命令
# fork出一个进程来执行,服务器继续执行命令,且最加到aof_buf、
# aof_rewrite_buf
127.0.0.1:6379> bgrewriteaof
自动触发
配置文件:
# 当AOF文件的体积大于64MB,且AOF文件的体积比上一次重写后的体积大了一倍(100%)时,会执行`bgrewriteaof`命令
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
优点:
缺点:
Reference
이 문제에 관하여(redis-持久化), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/testted123456/redischi-jiu-hua-35gf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)