【Redis】Redis持久化的两种方式

redis的两种持久化方式,快照和只追加文件(aof),快照保存数据,AOF保存每次执行的命令。
配置文件中的dir 选项指定了快照文件和aof文件的保存位置。

【快照】
快照持久化的命令:bgsave和save,通过save命令执行时不会创建子线程争抢资源。

配置文件:

save 60 1000  #60s内1000次操作触发快照保存
stop-writes-on-bgsave-error no #保存快照失败后是否继续执行写命令
rdbcompression yes # 是否对快照文件压缩
dbfilename dump.rdb    # 快照文件名

快照保存数据时,如果系统发生崩溃。最近一次生成快照到崩溃时间内的数据将会被丢失。

【AOF】
配置文件:

appendonly no # 是否使用AOF进行持久化

appendfsync always /everysec /no # 选择每条命令写入硬盘,或每秒同步一次, 或由操作系统决定何时进行同步(系统崩溃时会丢失不定量的数据,以及写入操作不够快时写入操作可能被阻塞)推荐使用everysec

no-appendfsync-on-rewrite no # 重写aof文件时不会丢失数据,会导致阻塞。为yes时相当于appendfsync设置为no,不执行磁盘操作而是写入缓存区,有数据丢失的风险。

# 当aof文件体积大于64MB并且aof文件体积比上一次重写之后体积大了100%以上的时候,redis执行GBREWRITEAOF命令
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb 

解决aof文件冗余的问题可以通过手动执行BGREWRITEAOF进行重写aof文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章