redis学习 AOF

Redis的AOF(Append Only File)持久化策略记录客户端的命令操作,以保证数据安全性。AOF策略包括always(实时同步)、everysec(一秒同步一次)和no(依赖操作系统同步)。AOF重写用于优化文件,减少重复命令并节省空间。通过bgrewriteaof命令或配置参数触发重写。启用AOF需设置appendonly为yes,并配置相关参数如appendsync、auto-aof-rewrite-min-size和auto-aof-rewrite-percentage。
摘要由CSDN通过智能技术生成

RDB缺点:

执行的复杂度为O(n)级别的,比较耗时

fork操是消耗内存的

写入磁盘会消耗io性能

 

AOF是redis的一种持久化策略

AOF中记录着redis客户端所作的一系列操作,客户端执行一次命令就会追加到AOF文件中

AOF中存的是客户端执行的redis命令

 

AOF策略:

redis执行写操作时,不会立即就将数据写到硬盘中,而是先将数据写到缓冲区,提高写的效率

always: 缓冲区一有命令,就将命令写入到AOF中,io开销比较大

everysec:每隔一秒写入AOF中一次,允许有一秒的数据丢失

no:由os来决定什么时候写入到AOF文件中

 

AOF重写:

AOF文件中可能会存在大量的重复命令,或者是过期命令

例如set a a    set a b   这两条数据,其实只有第二条命令有效

AOF重写机制会将AOF文件中的命令优化,达到只执行有效命令的作用

 

AOF作用:

减少磁盘的占用量

加快恢复的速度

 

AOF重写实现方式:

1.bgrewriteaof

       客户端执行bgrewriteaof,服务器会异步的fork出子进程来进行aof中重写

2.AOF重写配置

       auto-aof-rewrite-min-size  AOF文件重写需要的最小尺寸,AOF文件达到多大进行文件的重写 

       auto-aof-rewrite-percentage AOF文件的增长率,aof增长多少之后进行文件的重写

       aof_current_size  AOF文件当前的尺寸

       aof_base_size AOF重写时 的尺寸,AOF上次启动时的尺寸

3启用AOF配置

appendonly yes   是同aof策略的基础,必须开启

appendfilename "name" AOF文件的名称

appendsync everysec AOF执行的策略 每秒执行一次

dir /path  AOF文件的文件路径

no-appendfsync-on-rewrite yes AOF重写过程中是否需要重写到aof文件中 yes为不需要,放置磁盘的性能下降

auto-aof-rewrite-percentage 100 AOF文件的增长率为100%是重写

auto-aof-rewrite-min-size 64mb AOF重写的文件大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值