aop日志持久化
配置说明
Aof 的配置
appendonly no # 是否打开 aof日志功能
appendfsync always # 每1个命令,都立即同步到aof. 安全,速度慢
appendfsync everysec # 每秒同步一次到aof
appendfsync no # 写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof. 同步频率低,速度快
no-appendfsync-on-rewrite yes: # 正在导出rdb快照的过程中,要不要停止同步aof,一般停 止,减少I/O
auto-aof-rewrite-percentage 100 #aof文件大小比起上次重写时的大小,增长率100%时,重写
auto-aof-rewrite-min-size 64mb #aof文件,至少超过64M时,重写
aop持久化配置
1打开redis.conf文件,进行设置,配置内容如下
[root@fei redis]# pkill -9 redis
[root@fei redis]# vim redis.conf
配置内容
# 是否打开 aof日志功能
appendonly yes
# aof文件存放位置(默认与rdb在一个路径下)
appendfilename appendonly.aof
# 每秒写1次
appendfsync everysec
# 正在导出rdb快照的过程中,不要停止同步aof
no-appendfsync-on-rewrite yes
#aof文件大小比起上次重写时的大小,增长率100%时,重写
auto-aof-rewrite-percentage 100
#aof文件,至少超过64M时,重写
auto-aof-rewrite-min-size 8mb
启动redis
[root@fei redis]# ./bin/redis-server ./redis.conf
[root@fei redis]# ll ./back
总用量 4
-rw-r--r--. 1 root root 0 6月 18 09:18 appendonly.aof
-rw-r--r--. 1 root root 300 6月 18 02:51 dump6379.rdb
2测试
一个窗口作为客户端写数据
127.0.0.1:6379> set num 1
OK
一个窗口查看AOF内容
[root@fei redis]# more appendfilename /usr/local/src/redis/back/appendonly.aof
::::::::::::::
appendfilename
::::::::::::::
::::::::::::::
/usr/local/src/redis/back/appendonly.aof
::::::::::::::
*2
$6
SELECT
$1
0-----0号数据库
*3
$3
set-----set
$3
num-----num
$1
1-----1
[root@fei redis]#
[root@fei redis]#
aop重写测试
重写:打个比方,如有100条命令,都是set num=1,incr num;…99次,那么aop日志就要向日志文件中写入100条命令,而重写的意思就是,把这100命令用set num=100来替换。
测试
[root@fei redis]# ./bin/redis-benchmark -n 15000
appendonly.aof文件从6595283 减少到2318865 ,就是因为重写
总用量 6448
-rw-r--r--. 1 root root 6595283 6月 18 09:36 appendonly.aof
-rw-r--r--. 1 root root 528 6月 18 09:36 dump6379.rdb
[root@fei redis]# ls -l ./back
总用量 2272
-rw-r--r--. 1 root root 2318865 6月 18 09:36 appendonly.aof
-rw-r--r--. 1 root root 528 6月 18 09:36 dump6379.rdb
手动重写测试(使用客户端发起手动重写)
127.0.0.1:6379> bgrewriteaof
Background append only file rewriting started
127.0.0.1:6379>
总用量 2272 手动重写前的大小
-rw-r--r--. 1 root root 2318865 6月 18 09:36 appendonly.aof
-rw-r--r--. 1 root root 1605 6月 18 09:37 dump6379.rdb
[root@fei redis]# ll ./back
总用量 192 手动重写后的大小
-rw-r--r--. 1 root root 188912 6月 18 09:47 appendonly.aof
-rw-r--r--. 1 root root 1605 6月 18 09:37 dump6379.rdb
[root@fei redis]#