Redis 5.0持久性存储配置

因最近公司业务需要使用redis的持久性存储,笔记一下:

因为redis为内存型数据库,如果进程退出,数据便会丢失,为解决该问题,redis持久性存储提供以下两种方法:

RDB:按指定的时间配置进行数据的存储,默认开启。

AOF:记录每次redis的操作,类似MySQL的binlog日志,redis重启后会优先使用AOF文件进行恢复数据。

1)、RDB配置:

#vim redis.conf

#默认开启如果需要关闭把save ""取消注释即可
#save ""

#900秒(15分钟)至少有1条key变化,其他同理
save 900 1
save 300 10
save 60 10000

#RDB文件名称及存放路径
dbfilename dump.rdb
dir ./

#备份进程出错时,主进程停止接受写入操作,默认yes
stop-writes-on-bgsave-error yes
#是否压缩,会占用部分cpu资源,默认yes
rdbcompression yes

#RDB自动触发策略是否启用,默认为yes
rdb-save-incremental-fsync yes

RDB手动触发和自动触发:
1)自动触发
如上面配置所示,按配置情况触发
2)手动触发
连接redis后使用命令save、bgsave触发
save:会阻塞redis服务器,直到完成持久化
bgsave:会fork一个子进程,由子进程进行持久化。

2)AOF配置:

#vim redis.conf

#是否开启AOF,默认为否
appendonly no

#AOF文件名字及路径,若RDB路径已设置这里可不设置
appendfilename "appendonly.aof"
dir ./

#AOF的3种模式,no(使用系统缓存处理,快)、always(记录全部操作,慢但比较安全)、everysec(每秒同步,折中方案,默认使用)
appendfsync everysec

#重写期间是否同步数据,默认为no
no-appendfsync-on-rewrite no

#自动触发重写的配置
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

#AOF重写策略是否启用,默认为yes
aof-rewrite-incremental-fsync yes

#加载AOF时,如果报错则会继续但写入log,如果为no则不会继续
aof-load-truncated yes

#Redis5.0有的功能,AOF重写及恢复可以使用RDB文件及AOF文件,速度更快,默认yes
aof-use-rdb-preamble yes

AOF重写
因为AOF为记录每次的操作,会导致实际记录不多但文件过大,所以需要做重写操作
1)AOF自动重写:按配置文件条件自动触发重写
2)AOF手动重写:连接redis,使用命令bgrewriteaof,进行手动重写

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