首页 > 数据库 >redis哨兵模式和集群模式

redis哨兵模式和集群模式

时间:2024-09-17 11:21:11浏览次数:12  
标签:便利店 redis Redis 模式 哨兵 集群 收银台 节点

### 哨兵模式

 

想象一下你有一家便利店,这个便利店就是你的Redis服务器。为了确保便利店能一直营业,你需要有人来监督这家店是否正常运作。这就是哨兵模式的基本思想。

 

- **哨兵(Sentinel)**:哨兵就像是便利店的保安,它们的任务是监视便利店是否正常开门营业(也就是监视Redis服务器是否健康)。

- **主节点(Master)**:便利店的主要收银台,所有的商品售卖都是在这里进行的,对应Redis中的主节点,所有写操作都在这里完成。

- **从节点(Slave)**:便利店的备用收银台,平时只是备份主收银台的数据,以防万一主收银台坏了,可以马上顶上。在Redis中,从节点用来备份主节点的数据,并可以在主节点故障时被提升为主节点。

 

如果哨兵发现主节点出了问题(比如便利店的主收银台坏了),哨兵就会找一个从节点来替代主节点的位置,这样便利店就可以继续营业。

 

### 集群模式

 

再来看一下集群模式,这次我们假设你拥有一条商业街,这条街上有很多家便利店。

 

- **商业街**:相当于Redis集群,由多个便利店(Redis节点)组成。

- **便利店**:每一个便利店就是一个Redis节点,它们各自管理着一部分商品(数据)。

- **商品**:在集群模式下,商品被分配到了不同的便利店中,这意味着每种商品只能在特定的便利店购买到。

 

当你在这条商业街上开店时,你会把不同的商品分配给不同的便利店,这样可以分散顾客流量,让更多的顾客同时购物。同样地,在Redis集群中,数据被分散存储在不同的节点上,这样可以提高整体的服务能力和响应速度。

 

如果一个便利店(Redis节点)关门了,其他的便利店(节点)仍然可以继续服务顾客(处理请求),而且集群还可以自动重新分配那个便利店的商品(数据)到其他还在营业的便利店(节点)上。

 

总结一下:

 

- **哨兵模式**:像是给便利店安排保安,确保即使主收银台坏了也能马上换一个备用的继续工作。

- **集群模式**:像是开了一条商业街,不同的便利店(节点)分担不同的商品(数据),即使一家便利店暂时关了门,其他的便利店还能继续营业。

 

希望这样的解释能帮助你更好地理解Redis的这两种模式!

 

标签:便利店,redis,Redis,模式,哨兵,集群,收银台,节点
From: https://blog.csdn.net/weixin_43803780/article/details/140736036

相关文章

  • 解析Redisson 限流器源码
     工具类publicclassRedisUtils{  privatestaticfinalRedissonClientCLIENT=SpringUtils.getBean(RedissonClient.class);  /**  *限流  *  *@paramkey     限流key  *@paramrateType  限流类型  *@paramrate ......
  • Js继承之圣杯模式
    圣杯模式圣杯模式的核心就是拿一个空的构造函数去当中间人,解决组合模式的缺陷。举个例子functionPerson(name,age){this.name=name??"";this.age=age??"";};Person.prototype.say=function(){console.log(this.name+'----'+this.age)}......
  • 微信小程序的多级选择器(multiSelector模式的Picker)如何设计出各列之间的可选项有关联
    在微信小程序中,我们常常会需要使用到选择器(Picker),而选择器有一种模式叫做multiSelector,即多级选择。这个选择器可用于提交多个维度的信息,例如在餐厅里点餐时,需要同时提交要点的蔬菜、荤菜、主食、汤的信息。关于选择器,使用的方法见picker|微信开放文档。这里简单说明一下多......
  • redis基础
    一.前言我们前几篇文章说了mysql的基础,不是很深入,但是在我们开发中绝对够用,这篇文章我们来讲我们的redis,我们先来介绍一下我们的redis顺便介绍一下我们的nosql。在Web应用发展的初期,那时关系型数据库受到了较为广泛的关注和应用,原因是因为那时候Web站点基本上访问和并发不高......
  • 重生之我在Java世界------学单例设计模式
    什么是单例设计模式?单例模式是面向对象编程中最简单却又最常用的设计模式之一。它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的原理、常见实现方法、优缺点,以及在使用过程中可能遇到的陷阱。单例模式的核心原理单例模式的实现主要......
  • 三、redis之strings类型
    strings是redis中使用最多的类型。redis官网中是这么描述strings的:Redisstringsstoresequencesofbytes,includingtext,serializedobjects,andbinaryarrays.可以看到Redisstrings保存的是sequencesofbytes,也就是字节序列。不仅可以保存字符串,而且还可以保存二......
  • 06: 抽象工厂模式
    1. 案例  在Access和SQLserver分别插入User表和Department表2. 抽象工厂模式结构 -抽象产品(AbstractProduct):所有产品的基类,提供产品类的公共方法structUser{std::stringm_sName="";uint32_tm_uiID=0;};classIUser{public:virtualvoi......
  • 05: 工厂方法模式
    1. 案例:加减乘除运算2.工厂方法模式结构 - 抽象工厂(AbstractFactory):所有生产具体产品的工厂类的基类,提供工厂类的公共方法template<typenameT>classOperationFactory{public:virtualstd::shared_ptr<Operation<T>>CreatOperation()=0;};-具体工......
  • 导购APP佣金模式的风险控制与合规性
    导购APP佣金模式的风险控制与合规性大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!随着电商和导购平台的发展,佣金模式已经成为导购APP的重要盈利手段之一。然而,这种模式也带来了不少风险和合规性问题。如果管理不当,不仅会影响用户体验,还可能引......
  • 原型模式(Prototype Pattern)
    原型模式是一种创建型设计模式,使用克隆方法来复制现有对象,从而避免重复的初始化操作,特别适用于创建重复对象的场景。适用场景:当一个系统需要创建新对象的对象系统中,可通过克隆一个原型并对其进行改造。当对象的创建成本比较大(如复杂的初始化)时。示例代码:abstractclassSha......