redis的高可用之持久化

1、redis的高可用考虑指标

(1)正常服务

(2)数据容量的扩展

(3)数据的安全性

2、redis实现高可用的四种方式

(1)持久化

(2)主从复制

(3)哨兵模式

(3)cluster集群

3、持久化的两种方式【重点】

(1)RDB持久化:redis在内存中的数据定时保存到磁盘中

自动机制

1)配置文件vim /etc/redis/6379.conf

①一定时间内redis数据发生变化,bgsave更新

save 120 1000(生产中常用)

save 60 10000(生产中常用)

数据变动越多,执行的时间越短;数据变动不多,执行的时间越长

②rdb文件的压缩功能

③持久化文件的位置

2)主从复制:若从节点执行的是全量复制操作,主节点会执行bgsave,将.rdb文件传送给从节点

3)关闭主进程shutdown后,会自动执行.rdb的持久化

手动机制

①save(工作中禁用)

②bgsave(redis主从复制的默认机制)

(2)AOF持久化:redis的操作日志以追加的方式写入AOF的文件

①自动机制

②重写功能

1)手动触发redis-cli bgrewriteaof

2)自动触发vim /etc/redis/6379.conf

【重点】.aof文件出现截断的情况下,该怎么做?(经验)

aof-load-truncated yes  #判断.aof文件被截断时的行为

设置成yes,表示发现.aof文件被截断,redis在修复时尽可能的恢复.aof文件中的数据,且redis会继续运行

4、AOF备份和恢复【重点】

停止redis服务/etc/init.d/redis_6379 stop

在appendonly.aof文件中删除不需要的操作,即可恢复数据

重启redis服务/etc/init.d/redis_6379 restart

注:RDB是redis的默认持久化,但一旦开启AOF持久化,那么reids会以AOF的持久化文件作为最高优先级

5、AOF的重写功能【重点】

随着时间增长,AOF文件中的数据也会随之增加,AOF文件也随之变大,过大的AOF文件不仅会影响服务器的正常运行,也会导致数据恢复时间过长

文件重写是指定期的重写AOF文件,减小AOF文件的体积,AOF重写是将redis进程的数据,转化为写命令,同步到新的AOF文件中(不会额外生成一个新的AOF文件,只是在原内容中进行压缩),不会对原有的AOF文件进行任何读写操作

注:文件重写虽是AOF持久化推荐的,但不是必须的【重点】

没有重写,不影响redis启动时读取数据,在实际工作中,会关闭文件重写功能,通过定时任务完成具体重不重写,根据业务需求来看

AOF重写为什么能压缩文件?

①重写过程中,过期的数据不会写入文件

②重写过程中,无效的命令不再写入文件,数据被重复设置,例如set test 1,set test 2,删除的数据也不会写入set test 1 ,del test

③重写过程中,会将多条命令合并成一个。例如sadd test1 1 ,sadd test1 2 ,sadd test1 3 ,压缩成sadd test1 1 2 3。重写之后AOF文件中的命令减少了,占用空间减少了,恢复速度增加了

6、RDB和AOF的优缺点

(1)RDB持久化

优点:RDB文件体积小,备份数据时网络传输速度块,适合全量复制,恢复速度比AOF快

缺点:①无法实时持久化,数据非常重要,无法容忍丢失,所以AOF成为主流

②RDB需要满足特定的格式,兼容性差,新旧版本不兼容(reids版本必须一致,redis版本5.0.7)

2AOF持久化

优点:秒级持久化,兼容性好(.aof是文本格式保存的命令,命令是通用的)

缺点:.aof文件大,恢复速度慢,AOF持久化需频繁的向磁盘写入数据,磁盘的I/O压力大,对redis主进程的性能有一定影响

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/158708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

这是基础校园二手交易框架

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>校园二手交易</title> <style> /* Reset stylesheet */ * { margin: 0; padding: 0; box-s…

项目经理面试经典问题大揭秘:聪明回答,轻松获得心仪职位!

作为一名申请了项目管理职位的求职者&#xff0c;要顺利入职必须过了面试这一关。然而&#xff0c;你可能会对面试官可能会问什么问题以及如何回答好感到迷茫。以下是我整理的一些关于项目经理面试问题及回答技巧&#xff0c;希望对你有所帮助&#xff01; 招聘方&#xff08;P…

uniapp 富文本以及移动端富文本的展示问题

富文本展示有几种方式: 1.<view v-html"content"></view> 2. uniapp自带组件 rich-text rich-text | uni-app官网 <rich-text :nodes"content"></rich-text> 3.uView组件 u-parse Parse 富文本解析器 | uView 2.0 - 全面兼…

神经网络常用激活函数详解

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷2

单选题 1、两袋中分别有同样多的硬糖和酥糖&#xff0c;现将第一袋中的20块酥糖放到第二袋中&#xff0c;第二袋中的硬糖和酥糖相同&#xff0c;接着又将第二袋中的20块硬糖放到第一袋中&#xff0c;则第一袋中的硬糖是酥糖的4倍&#xff0c;问原来一袋中有&#xff08;&#…

基于STM32的电子时钟(论文+源码)

1. 系统设计 电子时钟是一种广泛使用的工具&#xff0c;其可以帮助人们准确掌握时间&#xff0c;本课题基于STM32的电子时钟系统的设计&#xff0c;在功能上设计如下&#xff1a; 具有电子时钟的基本功能&#xff0c;显示年月日&#xff0c;时分秒等基本信息&#xff1b;可以…

电脑盘符错乱,C盘变成D盘怎么办?

在一些特殊情况下&#xff0c;磁盘盘符会出现错乱&#xff0c;C盘可能会变成D盘。那么&#xff0c;这该怎么办呢&#xff1f;下面我们就来了解一下。 通过磁盘管理更改盘符 磁盘管理是Windows自带的工具&#xff0c;它位于“计算机管理”的控制台中。管理硬盘及其所包含的卷或…

梨花声音研修院,严肃与刚毅是音色核心

在为军旅剧提供配音服务时&#xff0c;配音员需捕捉并展现军事场合的严肃气氛、军人的刚毅品质以及他们对职责的忠诚。军旅剧往往围绕着军人的日常生活、战场经历、战友之情以及对祖国的热爱等主题展开&#xff0c;所以配音需能传递这些情感和价值。以下是进行军旅剧配音的一些…

倍福控制器搭建IgH环境

最近收到了倍福CX5230控制器&#xff0c;控制器上自带EBUS总线扩展的IO&#xff0c;使用的是CCAT网卡&#xff0c;在控制器上安装preempt-rt Linux系统&#xff0c;再安装IgH。 IgH正常识别到了扩展的IO模块。 运行控制程序&#xff0c;可以正常控制IO输出。

Qt应用开发(进阶篇)——线程 QThread

一、前言 QThread类继承于QObject基类&#xff0c;是Qt经典基础工具类&#xff0c;QThread类提供了一种独立于平台的方式来管理线程&#xff0c;让开发者能够快速的完成多线程的创建和使用。 正常情况下&#xff0c;一个PC程序使用到多线程的概率是非常高的&#xff0c;在不同方…

bclinux aarch64 ceph 14.2.10 云主机 4节点 fio

ceph -s 由于是基于底层分布式存储的云主机&#xff0c;数据仅供参考 本地云盘性能 direct1 1M读取 IOPS134, BW134MiB/s [rootceph-client rbd]# cd / [rootceph-client /]# fio -filenamefio.bin -direct1 -iodepth 128 -thread -rwread -ioenginelibaio -bs1M -size10G -n…

Java继承和多态

文章目录 继承成员继承构造方法super和this的区别代码块构造顺序 限定修饰符final继承和组合 多态向上转型重写动态绑定重写注意事项 向下转型多态优点注意 继承 成员继承 class Animal{public String name;public int age;public int a10;public void doSomething(){System.…

KDE 项目发布了 KDE Gear 23.08.3

导读KDE 项目发布了 KDE Gear 23.08.3&#xff0c;作为最新的 KDE Gear 23.08 开源集合的第三次维护更新&#xff0c;该集合包含了用于 KDE Plasma 桌面环境和其他平台的 KDE 应用程序。 KDE Gear 23.08.3 是在 KDE Gear 23.08.2 大约一个月之后发布的&#xff0c;包含了更多对…

系列五、为什么不用线程id作为ThreadLocalMap的key

一、为什么不用线程id作为ThreadLocalMap的key 1.1、案例代码 /*** Author : 一叶浮萍归大海* Date: 2023/11/21 11:50* Description: 需求&#xff1a;* 如果当前线程是线程1&#xff0c;那么设置书名和作者分别为 三国演义 罗贯中* 如果…

“高校评分”走红网络,虎扑:若造谣抹黑,学校可联系平台处理

哎呀&#xff0c;最近虎扑APP的全国高校评分可是火遍了网络啊&#xff01;那些机智的评语&#xff0c;哦哟&#xff0c;都成了新的“网络爆款梗”&#xff01;有毕业生说嘛&#xff0c;这评分都是看学生自己的经历和感受&#xff0c;有好评当然就有差评啦。但关键是&#xff0c…

Django 入门学习总结3

1、创建数据库 打开mysite/settings.py文件&#xff0c;可以看到我们使用Python中已包含的默认的数据库SQLite&#xff0c;也可以使用其他的数据库&#xff0c;如Oracle、Mysql等。里面也包含时区、语言等设置信息。 在使用数据库和表之前&#xff0c;输入下面的命令&#xf…

HT5169 单声道D类音频功放 I2S输入

HT5169是一款内置BOOST升压模块的D类音频功率放大器。内置的BOOST升压模块可通过外置电阻调节升压值&#xff0c;即使是锂电池供电&#xff0c;在升压至7.5V&#xff0c;2Ω负载条件下则能连续输出 11W功率。其支持外部设置调节BOOST输出电压。 HT5169是一颗单声道D类音频功放&…

Android使用Kotlin利用Gson解析多层嵌套Json数据

文章目录 1、依赖2、解析 1、依赖 build.gradle(app)中加入 dependencies { implementation com.google.code.gson:gson:2.8.9 }2、解析 假设这是要解析Json数据 var responseStr "{"code": 200,"message": "操作成功","data&quo…

A____Z____RECOVER____DATA勒索恢复---惜分飞

有客户MySQL数据库被黑,业务库中表被删除,并创建A____Z____RECOVER____DATA库,里面有一张readme表,内容为: mysql> select * from readme \G; *************************** 1. row *************************** zh_content: 请尽快与我们取得联系&#xff0c;否则我们将会公…

第28期 | GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区&#xff0c;集成了生成预训练Transformer&#xff08;GPT&#xff09;、人工智能生成内容&#xff08;AIGC&#xff09;以及大型语言模型&#xff08;LLM&#xff09;等安全领域应用的知识。在这里&#xff0c;您可以…