当前位置: 首页 > news >正文

Redis系统学习(高级篇)-Redis持久化-AOF方式

目录

一、是什么AOF?

二、AOF如何开启 以及触发策略有哪些

三、AOF文件重写

四、AOF与RDB对比


一、是什么AOF?

就是通过每次记录写操作,最终通过来依次这些命令来达到恢复数据的目的

二、AOF如何开启 以及触发策略有哪些

save ""可以关闭掉RDB

appendonly yes 开启AOF

触发策略有:

1. 每一次的执行命令都会被记录

appendfsync always

2.先将每次执行的命令先放到缓存中,然后 每隔一秒记录一次

appendfsync everysec

3. 先将每次执行的命令先放到缓存中,然后操作系统来决定何时写入aof文件中

appendfsync no

这三种  always每次都记录 因此比较耗费CPU资源 效率不是很高  但是能最好的保证数据的完整性

而 no的方式效率最高,但有丢失数据的风险

因此Redis默认选择折中的 everysec的方式

三、AOF文件重写

因为aof文件中记录的是每一次的执行命令,是追加的方式,会导致文件越来越大,并且其中对某一个key对多次修改都会记录,而实际上只有最后的一次修改才起作用,前面的都是无效记录。

如何解决这个问题呢?redis提供了AOF文件重写功能

执行的命令是:bgrewriteaof

例子:

set name zs

set age 20

set name ls

其实最终会压缩成

mset name ls age 20 就是压缩成最终还能正确恢复数据的最小指令集

也可以设置自动重写策略,达到某个阈值触发:

# AOF文件比上次文件 增长超过多少百分比则触发重写
auto-aof-rewrite-percentage 100
# AOF文件体积最小多大以上才触发重写 
auto-aof-rewrite-min-size 64mb 

四、AOF与RDB对比

1. 持久化方式上面

rdb是记录快照  aof是记录每一次的执行命令

2. 宕机恢复速度上面
rdb宕机恢复速度更快  aof稍慢一点

3. 恢复相同的数据集所需要的文件大小

rdb文件比较小   aof文件很大

4. 数据完整性方面

rdb在这方面不如aof

5. 系统资源占用方面

rdb比较占用cpu和内存资源   aof在重写的时候比较占CPU  另外就是很占用磁盘资源

6. 数据恢复优先级

就是当aof和rdb都存在的时候,优先选择哪种方式

aof的优先级更高,因为它能更好的保证数据的完整性

综上它两的使用场景是不同的

rdb适合用来做备份   适合大数据的备份 因为恢复速度快 并且文件小

然后也对数据完整性要求不是那么的高  可以忍受短暂的数据丢失

而aof方式则适合需要强完整性的时候

http://www.lryc.cn/news/213908.html

相关文章:

  • 云安全-云原生基于容器漏洞的逃逸自动化手法(CDK check)
  • 精选10款Python可视化工具,请查收
  • 大数据(21)-skew-GroupBy
  • window压缩包安装mongodb并注册系统服务
  • 【Java每日一题】——第四十五题:综合案例:模拟物流快递系统。(2023.11.1)
  • 二十二、Arcpy批量波段组合——结合Landat数据城市建成区提取
  • 电脑上数据恢复的详细操作
  • 3.1 linux控制内核打印printk demsg DEBUG
  • 关于爬虫API常见的技术问题和解答
  • 在CentOS上用yum方式安装MySQL8过程记录
  • CEYEE希亦新品洗地机Pro系列发布, 领跑行业的「水汽混动」技术的旗舰新杰作
  • 为什么要安装防静电门禁闸机
  • [linux] shell中的()和{}
  • jdk官网下载(详细步骤)
  • 10.24 校招 实习 内推 面经
  • Pico Neo4、Neo3开发手柄的使用交互监听
  • 【k8s】pod详解
  • 优思学院:质量管理7原则、8大要点
  • 自动化测试如何解析excel文件?
  • 职场好物:乐歌M9S升降办公电脑台,告别久坐办公,升职加薪就选它
  • springboot+vue基于Hadoop短视频流量数据分析与可视化系统的设计与实现【内含源码+文档+部署教程】
  • 审核 Microsoft SQL Server 日志
  • 【NLP】什么是语义搜索以及如何实现 [Python、BERT、Elasticsearch]
  • 【JavaScript】JS基础语法
  • 06-云计算概览及问题关注
  • 怎么监控钉钉聊天记录内容(监控钉钉聊天记录的3种形式)
  • 深入理解强化学习——强化学习的历史:时序差分学习
  • OpenCloudOS9操作系统搭建Confluence8.0.4企业WIKI
  • 03-Vue中的常用指令的使用,事件及其修饰符
  • ScrapeKit库中Swift爬虫程序写一段代码