Redis持久化之AOF-创新互联

背景:RDB不足之处
1.耗时,耗性能
生成快照文件耗时,load快照文件耗时
Fork子进程网络开销
写文件磁盘I/O开销

创新互联建站2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元前郭做网站,已为上家服务,为前郭各地企业和个人服务,联系电话:18980820575

2.不可控,丢失数据
会丢失最后一次快照最后操作的数据。

一、工作流程
Redis写操作命令 ——> aof缓冲区 ——> aof文件

注意,aof缓冲区的数据同步到磁盘的频率d由aof策略决定

二、AOF三种策略

1.Always 总是

每条指令都即时写入
不会丢失数据,磁盘I/O开销

2.Every second每秒

系统默认策略
每分钟写入一次
可能丢失一秒数据

3.No系统自动

不可控

3、AOF重写

随着时间得推移,aof文件日益变大。会降低磁盘性能,降低数据恢复速度。
目的:1.减少磁盘占用;2.加快恢复速度。

重写操作

方式一,客户端手动发送指令bgrewriteof
服务端fork子进程,子进程对内存中的数据进行回塑然后写入现有的aof文件。

方式二,通过配置文件触发
文件增长率
auto-aof-rewrite-percentage 100

最小文件尺寸
auto-aof-rewrite-min-size 64mb

四、AOF实验

1.redis写操作

27.0.0.1:6379> set hello world
OK
127.0.0.1:6379> set hello php
OK
127.0.0.1:6379> set hello java
OK
127.0.0.1:6379> set hello jack
OK
127.0.0.1:6379> set zhang san
OK
127.0.0.1:6379> set li si
OK
127.0.0.1:6379> set li xiaolong
OK

上述操作多次覆写hello,li两个key。

2.查看aof日志文件

$ sudo cat -b /var/lib/redis/appendonly.aof 
     1  REDIS0009�  redis-ver5.0.3�
�    2  redis-bits�@�ctime��]used-mem�غ
 aof-preamble��$e���q   �*2
     3  $6
     4  SELECT
     5  $1
     6  0
     7  *3
     8  $3
     9  set
    10  $5
    11  hello
    12  $5
    13 world
    14  *3
    15  $3
    16  set
    17  $5
    18  hello
    19  $3
    20  php
    21  *3
    22  $3
    23  set
    24  $5
    25  hello
    26  $4
    27  java
    28  *3
    29  $3
    30  set
    31  $5
    32  hello
    33  $4
    34  jack
    35  *3
    36  $3
    37  set
    38  $5
    39  zhang
    40  $3
    41  san
    42  *3
    43  $3
    44  set
    45  $2
    46  li
    47  $2
    48  si
    49  *3
    50  $3
    51  set
    52  $2
    53  li
    54  $8
    55  xiaolong

3.重写aof

127.0.0.1:6379> bgrewriteaof
Background append only file rewriting started

4.查看重写后的aof日志文件

whqlkj@whqlkj:~$ sudo cat -b /var/lib/redis/appendonly.aof 
     1  REDIS0009�  redis-ver5.0.3�
�    2  redis-bits�@�ctime����]used-mem�ػ
 aof-preamble���zhangsanlxiaolonghellojack��XȰ-���

五、RDB与AOF对比

对比环节 RDB AOF
启动优先级
数据恢复速度
文件大小小(rdb二进制压缩文件)大(重写后的日志记录文件)
数据安全rdb丢失数据(可能会丢失最后一次save/bgsave快照之后操作的数据)aof根据策略决定(详见3种同步策略)
操作重量级重(rdb快照)轻(aof追加日志)

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:Redis持久化之AOF-创新互联
文章出自:http://ybzwz.com/article/cdspos.html