Redis_AOF

什么是AOF

AOF:Append Only File(仅在文件中追加),是Redis的一种数据持久化机制 

注:Redis中默认关闭AOF,需手动修改配置文件(将no修改为yes以开启AOF)

如何触发AOF

Redis中提供了三种AOF同步方案: 

always:接收到写命令时进行aof同步

everysec:间隔一秒进行aof同步

no:不进行aof同步,等待操作系统的自动同步(Linux系统默认间隔30S进行一次同步)

AOF机制讲解

AOF机制简述:

Redis会将接收到的写命令追加到aof文件中,当Redis重启时,会根据aof文件进行数据还原

数据还原步骤:

1.Redis创建伪客户端(Fake Client)以执行命令(Redis 的命令只能在客户端上下文中执行)

注:伪客户端无网络连接,也无需网络连接,因为伪客户端执行的命令均直接来自于aof文件

2.从aof文件中读取一条写命令

3.使用伪客户端执行该命令

4.重复步骤2与3,直至aof文件中的所有写命令均被读取

完成上述步骤后,aof文件中记录的数据就被完整地还原了

AOF重写

Redis通过创建子进程进行AOF重写,子进程与主进程共享物理内存数据(旧aof文件);此举可让主进程继续处理客户端的请求

AOF的优缺点 

优势:

  • 数据相对安全
  • 节省内存(AOF默认一秒同步一次,所以内存数据相较RDB小)
  • fork子进程时客户端的请求将被阻塞,但阻塞时间极短(复制物理内存地址)

劣势:

  • 较为消耗物理内存
  • 不适合大规模的数据恢复(若数据量大,启动Redis时需要耗费大量时间执行命令,以进行数据恢复)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值