redis中的AOF持久化是什么-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联是一家集网站建设,都兰企业网站建设,都兰品牌网站建设,网站定制,都兰网站建设报价,网络营销,网络优化,都兰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

redis中的AOF持久化是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

AOF持久化

它也是Redis持久化的重要手段之一,aof->Append Only File,只追加文件,也就是每次处理完请求命令后都会将此命令追加到aof文件的末尾。而RDB是压缩成二进制等时机开子进程去干这件事。

RDB 和 AOF

antirez 在《Redis 持久化解密》一文中讲述了 RDB 和 AOF 各自的优缺点:

  • RDB 是一个紧凑压缩的二进制文件,代表 Redis 在某个时间点上的数据备份。非常适合备份,全量复制等场景。比如每6小时执行 bgsave 备份,并把 RDB 文件拷贝到远程机器或者文件系统中,用于灾难恢复。

  • Redis 加载 RDB 恢复数据远远快于 AOF 的方式

  • RDB 方式数据没办法做到实时持久化,而 AOF 方式可以做到。

AOF持久化的步骤

1、命令追加步骤
首先服务器将对数据库的写操作命令放入AOF缓冲区中,并通过周期函数来检查是否需要将缓冲区内的内容写入AOF文件中(一般有三种策略:always,everysecond,no)。这三种策略是在安全性与效率之间的平衡。

2、数据还原
通过创建一个不带网络连接的伪客户端,并依次执行AOF中的命令,从而实现数据的还原。

3、AOF重写
因为AOF是记录写操作命令,会导致文件的冗余,只要通过对数据库当前状态的重新读出,从而可以实现AOF的精简。
具体流程如下:
首先创建一个子进程(为什么不用线程呢?因为线程会造成锁,导致效率低下。而且用子进程不会阻塞父进程)
然后父进程创建一个AOF重写缓冲区,用于记录在AOF重写期间执行的写入命令。
一个写命令会同时发送给AOF缓冲区和AOF重写缓冲区。
然后等到重写完成,子进程向父进程发送信号,父进程会将AOF重写缓冲区的内容追加的新的AOF文件中,并原子化的替换原先的AOF文件。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联-成都网站建设公司行业资讯频道,感谢您对创新互联的支持。

本文名称:redis中的AOF持久化是什么-创新互联
标题路径:https://www.cdcxhl.com/article4/cegsie.html

成都网站建设公司_创新互联,为您提供网站内链微信公众号手机网站建设品牌网站建设响应式网站域名注册

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司