![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Redis专栏
这里主要记录了Redis相关的知识,主要学习石衫老师的redis课程
Mr Mirror
一个热爱coding的蒸汽波程序员
展开
-
10.redis cluster介绍与gossip协议
一、redis cluster 介绍自动将数据进行分片,每个 master 上放一部分数据提供内置的高可用支持,部分 master 不可用时,还是可以继续工作的redis cluster架构下的每个redis都要开放两个端口号,比如一个是6379,另一个就是加1w的端口号16379。6379端口号就是redis服务器入口。16379端口号是用来进行节点间通信的,也就是 cluster bus 的东西,cluster bus 的通信,用来进行故障检测、配置更新、故障转移授权。clu原创 2020-09-03 09:35:54 · 563 阅读 · 0 评论 -
09.redis 哨兵主备切换时数据丢失的解决方案
一、两种数据丢失的情况1. 异步复制导致的数据丢失 因为master->slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机了,此时这些部分数据就丢失了2. 脑裂导致的数据丢失脑裂是什么 某个master所在机器突然脱离了正常的网络,跟其他slave机器不能连接,但是实际上master还运行着。此时哨兵可能就会认为master宕机了,然后开启选举将其他slave切换成了master。集群里就会有两个master,也就是所谓的脑裂引发的问题: 此时虽原创 2020-09-01 15:11:42 · 393 阅读 · 0 评论 -
深入学习redis 的线程模型
一、redis 的线程模型redis 内部使用文件事件处理器 file event handler,它是单线程的,所以redis才叫做单线程模型。它采用IO多路复用机制同时监听多个 socket,将产生事件的 socket 压入内存队列中,事件分派器根据 socket 上的事件类型来选择对应的事件处理器进行处理。文件事件处理器的结构:多个 socketIO 多路复用程序文件事件分派器事件处理器(连接应答处理器、命令请求处理器、命令回复处理器)线程模型多个 socket 可原创 2020-08-31 00:04:25 · 165 阅读 · 0 评论 -
08.redis哨兵主备切换和选举算法
一、选举的授权每次一个哨兵要做主备切换,首先需要quorum数量的哨兵认为odown,然后选举出一个哨兵来做切换,这个哨兵还得得到majority哨兵的授权,才能正式执行切换如果quorum < majority,比如5个哨兵,majority就是3,quorum设置为2,那么就3个哨兵授权就可以执行切换但是如果quorum >= majority,那么必须quorum数量的哨兵都授权,比如5个哨兵,quorum是5,那么必须5个哨兵都同意授权,才能执行切换 二、原创 2020-08-30 15:00:18 · 884 阅读 · 0 评论 -
07.redis哨兵机制功能介绍
一、哨兵(sentinal)的介绍哨兵是redis集群架构中非常重要的一个组件,主要功能如下:集群监控,负责监控redis master和slave进程是否正常工作消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员故障转移,如果master node挂掉了,会自动转移到slave node上配置中心,如果故障转移发生了,通知client客户端新的master地址哨兵本身也是分布式的,作为一个哨兵集群去运行,互相协同工作故障转移时,判断一个master no原创 2020-08-27 22:00:45 · 788 阅读 · 0 评论 -
06.深入学习redis replication的完整流程和原理
此篇文章是对上一篇文章的深入剖析,05.简单了解redis replication核心原理一、replication的完整流程1、slave配置master ip和port# slaveof <masterip> <masterport>slaveof 127.0.0.1 63792、slave node内部有个定时任务,每秒检查是否有新的master node要连接和复制,如果发现,就跟master node建立socket网络连接3、slave node发送pin原创 2020-08-27 15:03:09 · 215 阅读 · 0 评论 -
05.简单了解redis replication核心原理/断点续传/无磁盘化复制以及master持久化的意义
1、redis replication基本原理(1) 当启动一个 slave node 的时候,它会发送一个 PSYNC 命令给 master node。(2) 如果这是 slave node 初次连接到 master node,那么会触发一次 full resynchronization 全量复制。(3) 此时 master 会启动一个后台线程,开始生成一份 RDB 快照文件,同时还会将从客户端 client 新收到的所有写命令缓存在内存中。(4) master 会将这个 RDB 发送给 slav原创 2020-08-26 18:50:28 · 237 阅读 · 0 评论 -
04.简单了解一下Redis企业级数据备份方案
1、企业级的持久化的配置策略(1)每隔1分钟去检查如果超过10000个可以变更,则生成一个快照。RDB最多丢1分钟的数据。save 60 10000(2)AOF一定要打开,fsync,everysec#就是当前AOF大小膨胀到超过上次100%,上次的两倍auto-aof-rewrite-percentage 100#最小触发sizeauto-aof-rewrite-min-size 64mb2、企业级的数据备份方案RDB非常适合做冷备,每次生成之后,就不会再有修改了数据备份方案(原创 2020-08-26 11:29:46 · 186 阅读 · 0 评论 -
03.AOF持久化机制配置与工作流程
1、AOF持久化的配置配置文件redis.conf,默认是/etc/redis/6379.confAOF持久化默认是关闭的,默认是打开RDB持久化appendonly yes2、工作流程:打开AOF持久化机制之后,redis每次接收到一条写命令,就会写入日志文件中,当然是先写入os cache的,然后每隔一定时间再fsync一下可以配置AOF的fsync策略,有三种策略可以选择,always: 每次写入一条数据,立即将这个数据对应的写日志fsync到磁盘上去,优点是保证数据都不会丢,但原创 2020-08-26 09:43:13 · 314 阅读 · 0 评论 -
02.RDB持久化配置与工作流程
1、如何配置RDB持久化机制配置文件redis.conf,默认是/etc/redis/6379.confsave 60 1000表示每隔60s,检查如果有超过1000个key发生了变更,那么就生成一个新的dump.rdb文件,就是当前redis内存中完整的数据快照,这个操作也被称之为snapshotting,快照。也可以手动执行save或者bgsave命令,同步或异步执行rdb快照生成,一般不怎么用save可以设置多个,就是多个snapshotting检查点,每到一个检查点,就会去check原创 2020-08-26 09:41:43 · 204 阅读 · 0 评论 -
01.图文理解RDB和AOF两种持久化机制
1、RDB和AOF两种持久化机制的介绍RDB:对redis中的数据执行周期性的持久化,每隔一个时刻生成一个RDB文件,这个RDB文件包含这个时刻所有的数据。AOF:记录每条写入命令,以append-only的模式写入一个日志文件中。redis重启后,可以通过回放AOF日志中的写入指令来重新构建整个数据集2、RDB持久化机制的优缺点优点(1)RDB会生成多个数据文件,每个数据文件都代表了某一个时刻中redis的数据,这种多个数据文件的方式,非常适合做冷备,可以将这种完整的数据文件发送到原创 2020-08-25 14:17:44 · 1141 阅读 · 0 评论