redis AOF

RDB问题:

  • 耗时耗性能
  • 容易丢失数据

耗时耗性能

  • O(n)数据 耗时
  • fork() :消耗内存,copy-on-write 策略
  • Disk I/O :IO性能

不可控 丢失数据

时间save
T1执行多个写命令
T2满足RDB自动创建的条件
T3再次执行多个写命令
T4宕机

AOF 运行原理 -创建

set hello world

AOF文件  
set hello world  
hmset myhash a  b  
sadd myset a b  
keyvalue
hellostring:world
myhashhash:{“a”:“b”}
mysetset:[“a”:“b”]

AOF 三种策略

  • always
  • eversec
  • no

always

1:redis写命令到刷新的缓冲区
2:每条命令fsync到硬盘aof文件

everysec 系统默认值

1:redis写命令到刷新的缓冲区
2:每秒把缓冲区fsync到硬盘 aof文件
缺点宕机可能会丢失1秒的数据

no

1:根据操作系统
os决定fysnc

always everysec no 优缺点

命令alwayseverysyncno
优点不丢失数据每秒一次fysnc 丢1秒数据不用管
缺点IO开销比较大,一般的sata盘只有几百tps丢1秒数据不可控

AOF重写

原生AOFAOF重写
set hello worldset hello hehe
set hello javaset counter 2

AOF重写作用

减少硬盘用量
加速恢复速度

AOF重写实现两种方式

bgrewriteaof
aof重写配置

bgrewriteaof命令

  1. client发送命令bgrewriteaof 到redis
  2. redis master 接收
  3. redis开启子进程
  4. aof重写到aof文件

AOF从重写自动配置

配置名含义
auto-aof-rewrite-min-sizeaof 文件重写需要的尺寸
auto-aof-rewrite-percentageaof 文件增长率

统计

统计名含义
aof_current_sizeaof 当前尺寸 单位字节
aof_base_sizeaof 上次启动和重写的尺寸

AOF重写配置

同时满足

  • aof_current_size >auto-aof-rewrite-min-size
  • aof-current_size - aof_base_size/aof_base_size > auto-aof_rewrite-percentage

redis.conf

appendonly  yes   #打开aof功能 
appendfilename "appendonly-${port}.aof"   //aof文件名称
appendfsync everysec     //同步策略  
dir /bigdiskpath        //保存rdb  aof  log 目录 
no-appendfsync-on-rewrite yes  //不进行aof 重写  
auto-aof-rewrite-percentage 100 
auto-aof-rewrite-min-size 64mb 
aof-load-truncated yes //防止出现断电后aof不完整 

AOF 演示

redis-cli  
dbsize  
vim redis.cong 
appendonly  yes 
appendfilename "appendonly-6379.aof"
appendfsync 
config get appendonly 
"appendonly"
"no" 
config get appendonly yes 
ok 
config rewrite 
ok 
exit 
redis-cli 
set 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值