首页 > 数据库 >Redis

Redis

时间:2024-09-29 23:49:39浏览次数:10  
标签:缓存 Redis 哨兵 故障 集群 节点

目录

集群

哨兵模式

工作原理:

三大常见问题

缓存穿透

解决方案:

缓存击穿

解决方案:

缓存雪崩

解决方案:


集群

由多个Redis节点组成,提供更高的性能、可用性和可扩展性。

采用hash槽分片的方式,将数据分布到不同的节点上,每个节点负责存储一部分数据,并通过集群中的元数据来管理这些数据的一致性。

哨兵模式

Redis哨兵模式是指在Redis集群中,部署一组专门的哨兵进程(Sentinel processes),这些哨兵进程负责监控主节点(master)和从节点(slave)的状态,并在发现故障时自动进行故障转移(failover),以保证Redis集群的高可用性。

工作原理:

  1. 监控与检测:通过配置文件或命令行参数配置。哨兵节点周期性的向主节点发送ping命令检测状态,若主节点无响应,则将其标记为主观下线。
  2. 故障判断与转移:当足够数量的哨兵节点都将主节点标记为主观下线时,哨兵节点会对主节点进行故障判断,并选举出一个领头哨兵,从从节点中选择一个作为新的主节点,并让所有其他从节点指向新的主节点。
  3. 恢复与重新配置:如果原来的主节点恢复正常,哨兵节点会将其标记为主观上线,但不会自动将其恢复为主节点角色。原来的主节点会成为新主节点的一个从节点,并尝试从新的主节点同步数据。

标签:缓存,Redis,哨兵,故障,集群,节点
From: https://blog.csdn.net/zhaogx233/article/details/142623393

相关文章

  • [Redis][典型运用][缓存]详细讲解
    目录0.什么是缓存?1.使用Redis作为缓存1.为什么用?2.如何用?2.缓存的更新策略0.前言1.定期生成2.实时生成3.缓存相关问题1.缓存预热(CachePreheating)2.缓存穿透(CachePenetration)3.缓存雪崩(CacheAvalanche)4.缓存击穿(CacheBreakdown)0.什么是缓存?缓存核心思......
  • [Redis][集群][下]详细讲解
    目录1.集群搭建(基于Docker)2.主节点宕机1.宕机后会发生什么?2.处理流程1.故障判定2.故障迁移3.集群扩容0.前言1.把新的主节点加入到集群2.重新分配slots3.给新的主节点添加从节点1.集群搭建(基于Docker)拓扑结构如下:创建目录和配置:创建redis-cluster⽬录,内......
  • WPF下使用FreeRedis操作RedisStream实现简单的消息队列
    RedisStream简介RedisStream是随着5.0版本发布的一种新的Redis数据类型:高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息,这样可以并行处理和提高效率。阻塞操作:消费者可以设置阻塞操作,这样它们会在流中有新数据添加时被唤醒并开始......
  • 【Redis基础篇】超详细♥Redis安装教程、5种常用数据结构和常见命令、Jedis和SpringDa
    文章目录一、Redis与客户端安装教程1、NoSQL介绍(1)结构化与非结构化(2)关联和非关联(3)查询方式(4)事务(5)总结2、Redis介绍3、安装Redis(1)依赖库(2)上传安装包并解压(3)Redis三种启动方式①默认启动②指定配置启动③开机自启4、Redis客户端(1)Redis命令行客户端(2)图形化桌面客户端(3......
  • redis 过期时间
     EXPIRE|Docshttps://redis.io/docs/latest/commands/expire/The EXPIRE commandsupportsasetofoptions:NX --SetexpiryonlywhenthekeyhasnoexpiryXX --SetexpiryonlywhenthekeyhasanexistingexpiryGT --Setexpiryonlywhenthenewex......
  • Redis缓存击穿、缓存穿透、缓存雪崩
    缓存击穿、缓存穿透和缓存雪崩是缓存机制中常见的问题,它们各自具有不同的特点和解决方案。下面我将分别解释这三种现象及其解决方案。一、缓存击穿缓存击穿指的是在高并发情况下,某个热点数据缓存失效,导致大量请求直接访问数据库,给数据库带来巨大压力。这通常发生在某个被......
  • Redis渐进式rehash
    为什么要渐进式rehash?在Redis中,哈希表是实现快速键值对查找的关键数据结构,但随着数据的增加,哈希表可能会因为冲突过多或空间不足而需要扩容;相反,当数据大量删除后,哈希表也可能因为空间利用率过低而需要缩容。在扩容和缩容过程中,由于长度变化会导致key的索引变化,为了避免一次性r......
  • Redis小白学习笔记1
    目录这3篇文章是我在学习Redis的过程中,总结的笔记:第一篇Redis学习笔记1-理论篇1,Redis中的数据类型2,Redis的IO模型3,Redis的持久化4,Redis集群原理5,将Redis用作缓存第二篇Redis学习笔记2-性能篇6,Redis高性能的影响因素6.1,Redis内部的阻塞式操作......
  • Python对数据库(MySQL,redis、MongoDB)的操作
    Python对数据库的操作(MySQL,redis、MongoDB)一、操作MySQL数据库安装pymysql:需要通过pipinstallpymysql进行安装。查询数据:fetchone、fetchmany(n)、fetchall()importpymysql#建立mysql连接,ip、端口、用户名、密码(passwd,不能写成其他,例如:pwd或者p,否则报错)、库名con......
  • 算法实战:剖析 Redis 常用的数据类型对应的数据结构
    算法实战:剖析Redis常用的数据类型对应的数据结构Redis是一个非常流行的内存数据库,它提供了多种数据类型,每种数据类型都有其特定的数据结构支持。了解这些数据结构对于深入理解Redis的工作原理和优化使用非常重要。本文将剖析Redis常用的数据类型对应的数据结构,并通......