摘要: 概要 当redis集群的主节点故障时,Sentinel集群将从剩余的从节点中选举一个新的主节点,有以下步骤: 故障节点主观下线 故障节点客观下线 Sentinel集群选举Leader Sentinel Leader决定新主节点 选举过程 主观下线 Sentinel集群的每一个Sentinel节点会定 阅读全文
posted @ 2021-06-08 14:26 知白守黑,和光同尘 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 引言 系统中修改已有数据时,需要先读取,然后进行修改保存,此时很容易遇到并发问题。由于修改和保存不是原子操作,在并发场景下,部分对数据的操作可能会丢失。 在单服务器系统我们常用本地锁来避免并发带来的问题,然而,当服务采用集群方式部署时,本地锁无法在多个服务器之间生效,这时候保证数据的一致性就需要分布 阅读全文
posted @ 2021-06-08 14:25 知白守黑,和光同尘 阅读(90) 评论(0) 推荐(1) 编辑
摘要: 1. Redis 的击穿,穿透,雪崩 1.1 Redis 击穿 产生原因:在高并发的情况下,在某一时间点,在高频获取的key在此时过期,大量请求直接请求到服务器上,导致缓存击穿 解决方案: 可以将热点数据设置为永远不过期; 基于 redis or zookeeper 实现互斥锁,等待第一个请求构建完 阅读全文
posted @ 2021-06-08 14:23 知白守黑,和光同尘 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 1.单节点redis的缺陷 单点故障导致服务不可用 redis的容量优先 redis的服务压力 2. 集群的AKF原则 AKF原则 x轴:全量,镜像 Y轴:业务,功能 Z轴:优先级,逻辑再拆分 2.1 redis使用AKF原则扩展为集群产生的问题 通过AKF一变多 :数据一致性问题 X轴:redis 阅读全文
posted @ 2021-06-08 14:19 知白守黑,和光同尘 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1. redis的持久化方式 RDB持久化 原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化 AOF持久化 原理是将Reids的操作日志以追加的方式写入文件 两种持久化方式区别 二者选择的标准,就是看系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的 阅读全文
posted @ 2021-06-08 14:17 知白守黑,和光同尘 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 1.Redis 管道(Pipelining) Redis 管道(Pipelining) 一次请求/响应服务器能实现处理新的请求即使旧的请求还未被响应。这样就可以将多个命令发送到服务器,而不用等待回复,最后在一个步骤中读取该答复。 重要说明: 使用管道发送命令时,服务器将被迫回复一个队列答复,占用很多 阅读全文
posted @ 2021-06-07 17:42 知白守黑,和光同尘 阅读(54) 评论(0) 推荐(0) 编辑
摘要: Liunx的IO BIO 在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还没有收到一 阅读全文
posted @ 2021-06-07 17:41 知白守黑,和光同尘 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1.redis相关介绍 redis中文网 1.1 redis的介绍 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序 阅读全文
posted @ 2021-06-07 17:40 知白守黑,和光同尘 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 操作系统为centOs7 redis为6.0.8版本 1.当Make命令提示无cc环境时需要进行安装Gcc安装包重新安装,同时需要执行make distclean清理相关文件,再执行make命令 //一般错误为gcc套装错误 yum install cpp yum install binutils 阅读全文
posted @ 2021-06-07 17:37 知白守黑,和光同尘 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 操作系统为centOS7 redis为6.0.8版本 安装wget命令 yum install wget 安装GCC包(redis是c语言编写,liunx需要安装相关软件) yum install gcc 在指定目录获取安装包(或者下载之后移动到指定目录 ) https://redis.io/dow 阅读全文
posted @ 2021-06-07 17:35 知白守黑,和光同尘 阅读(78) 评论(0) 推荐(0) 编辑