Redis持久化
Posted Otis
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis持久化相关的知识,希望对你有一定的参考价值。
Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出,服务器故障等造成的数据丢失问题,当下次Redis重启时利用之前持久化的文件即可实现数据恢复
RDB持久化
可以在指定时间间隔内生成数据集的时间点快照(point-in-time snapshot),新快照会覆盖旧快照,占用空间小
优点:速度快,适合用于做备份,主从复制也是基于RDB持久化功能实现的
缺点:由于基于时间点持久化,如果在某一个时间点持久化后,机器故障了,再恢复的时候持久化后的数据一样会丢失
持久化配置
Redis配置文件
# 目录
dir "/data/6379"
# RDB文件
dbfilename "dump.rdb"
手动持久化
127.0.0.1:6379> save
OK
127.0.0.1:6379> bgsave
Background saving started
- SAVE:前台运行,会阻塞Redis正常写入,直到持久化完成
- BGSAVE:后台运行,开启子线程,异步的持久化方式,不会阻塞Redis正常写入
自动持久化
修改Redis配置文件(需要重启)
# 60 秒累计100次修改,就进行持久化
save 60 100
# 300 秒累计1000次修改,就进行持久化
save 300 1000
- 60秒是Redis能设置的RDB持久化的最小时间时间
AOF
记录服务器执行的所以写操作命令,并再服务启动时,通过重新执行这些命令还会员数据集
AOF 文件中的命令全部以Redis协议的格式来保存,新命令会被追加到文件尾
优点:可以最大程度保证数据不丢失
缺点:日志记录量级比较大,持久化时间长
持久化配置
# 开启AOF模式
appendonly yes
# 每次修改操作都进行持久化
appendfsync always
# 每秒持久化一次
# appendfsyns everysec
# 不即时同步,由操作系统控制何时刷写到磁盘上
# appendfsync no
# AOF文件
appendfilename "appendonly.aof"
需要重启Redis
以上是关于Redis持久化的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud系列十一:SpringCloudStream(SpringCloudStream 简介创建消息生产者创建消息消费者自定义消息通道分组与持久化设置 RoutingKey)(代码片段