REDIS AOF文件解析

一、简述
Redis是内存数据库,所以持久化是必须的,redis提供 RDB 和 AOF 两种持久化方案。

RDB 即 Redis DataBase,文件中存的是数据
AOF 即 Append Only File,文件中存的是写操作命令

对于RDB 而言,已经介绍过,有兴趣的可以阅读【RDB文件解析】。

二、配置
本文主要讲述AOF文件的内容。
AOF模式默认是关闭的,在redis.conf中,找到 APPEND ONLY MODE内容

# AOF and RDB persistence can be enabled at the same time without problems.
# If the AOF is enabled on startup Redis will load the AOF, that is the file
# with the better durability guarantees.
#
# Please check http://redis.io/topics/persistence for more information.

appendonly no #aof模式开关

# The name of the append only file (default: "appendonly.aof")
appendfilename "appendonly.aof" #aof文件名

......

# If unsure, use "everysec".

# appendfsync always #同步持久化,每次发生数据变化会立刻写入到磁盘
appendfsync everysec #出厂默认推荐,每秒异步记录一次
# appendfsync no #不同步

......

# AOF重写,有效压缩aof文件大小
# Specify a percentage of zero in order to disable the automatic AOF
# rewrite feature.

auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb

三、开启与解析
Windows下开启aof持久化(直接修改redis.windows.conf是拒绝访问的)

C:\Users\Administrator>redis-cli config set appendonly yes
OK

C:\Users\Administrator>redis-cli config get appendonly
1) "appendonly"
2) "yes"

执行save/bgsave操作,就可以看到appendonly.aof文件,内容如下:

*2 			#当前命令有两个参数
$6 			#第一个参数长度是6字节,即SELECT
SELECT 		#当前命令的第一个参数值
$1 			#当前命令的第二个参数,长度是1,即0
0 			#当前命令的第二个参数值
*3
$3
SET
$4
name
$4
jack
*2
$6
SELECT
$1
0
*3
$3
set
$3
sex
$4
male

*N 是命令的参数个数,命令本身也是参数
$M 是参数的长度,即字节数
见以上代码说明

四、综述

  1. Redis 默认开启RDB,在指定的时间间隔内,执行指定次数的写操作,则将内存中的数据写入到磁盘中。
  2. RDB 持久化适合大规模的数据恢复,但数据一致性和完整性较差。
  3. Redis 可手动开启AOF,默认是每秒将写操作日志追加到AOF文件中。
  4. AOF 的数据完整性比RDB高,但文件会越来越大,影响数据恢复效率,针对 AOF文件大问题,提供AOF重写机制(将多个命令操作同一数据的合并为一个命令)。
  5. Redis 做缓存使用时,可关闭持久化。
  6. 若使用Redis 的持久化,建议RDB和AOF都开启。
  7. RDB,AOF同时存在时,优先使用AOF文件
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值