redis持久化详解

Posted hwlong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis持久化详解相关的知识,希望对你有一定的参考价值。

一、RDB持久化

RDB 持久化
可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。
优点:快速持久化、占用磁盘空间少、适合于用做备份,主从复制也是基于RDB持久化功能实现的。
缺点:当断电,重启时,RDB会丢失少部分数据。

rdb持久化核心配置参数

vim /nosql/6379/redis.conf
dir /nosql/6379
dbfilename dump.rdb

save 900 1
save 300 10
save 60 10000

配置分别表示:
900秒(15分钟)内有1个更改
300秒(5分钟)内有10个更改
60秒内有10000个更改

RDB持久化高级配置

# 后台备份进程出错时,主进程停不停止写入?主进程不停止容易造成数据不一致
stop-writes-on-bgsave-error yes
# 导出的rdb文件是否压缩、如果rdb的大小很大的话建议这么做
rdbcompression yes 
# 导入rdb恢复时数据时,要不要检验rdb的完整性、验证版本是不是一致
rdbchecksum yes
# 导出来的rdb文件名
dbfilename dump.rdb
# rdb的放置路径
dir ./ 

二、AOF持久化(append-only log file)

记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。
AOF文件中的命令全部以Redis协议的格式来保存,新命令会被追加到文件的末尾。
优点:可以最大程度保证数据不丢
缺点:日志记录量级比较大

AOF持久化配置

# 是否打开aof日志功能
appendonly yes
# 每1个命令,都立即同步到aof appendfsync always # 没1秒写入1次 appendfsync everysec
# 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. appendfsync no vim
/nosql/6379/redis.conf appendonly yes appendfsync everysec

AOF持久化高级配置

# 正在导出rdb快照的过程中,要不要停止同步aof
no-appendfsync-on-rewrite yes/no
# aof文件大小比起上次重写时的大小,增长率100%时重写,缺点:业务开始的时候,会重复写多次。
auto-aof-rewrite-percentage 100
# aof文件,至少超过64M时,重写 
auto-aof-rewrite-min-size 64mb

补充:

redis持久化方式有哪些?有什么区别?
rob:基于快照的持久化,速度更快,一般用做备份,主从复制也是依赖于rdb持久化功能。
aof:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog

 

以上是关于redis持久化详解的主要内容,如果未能解决你的问题,请参考以下文章

Redis教程:持久化详解

nosql----redis持久化详解

详解redis持久化

Redis AOF 持久化详解

Redis AOF 持久化详解

redis架构详解