当前位置: 首页 > news >正文

Redis的四种模式:单机、主从、哨兵、集群

一、简单理解

单机模式:安装你的redis,启动服务即为单机模式。

主从模式:一个主节点搭配一个或多个从节点,无自动故障转移功能,主节点发生故障后,需要人工将其中一个从节点设置为主节点。

哨兵模式:主从模式加上自动故障转移功能即为哨兵模式,主节点发生故障后,会自动将其中一个从节点设置为主节点。

集群模式:每个节点存储一部分数据,所有节点的数据汇总即为完整的数据,具有自动故障转移功能。

二、具体介绍

1.单机模式

在单机模式下,只运行着一个 Redis 服务器实例,这是最简单的部署方式。

优点: 部署简单,适合开发和测试环境。

缺点: 存在单点故障,没有数据冗余或者故障转移的能力,且性能受限于单台机器。

原理: 所有的数据存储与处理都在单一实例上进行。

2.主从模式(或称主从复制模式)

主从模式涉及一个主节点(master)和一个或多个从节点(slave)。从节点是主节点的精确副本,并可以用于读操作,以分担主节点的负载。

优点: 读操作可以扩展,通过增加从节点数量。从节点可以在主节点故障时实现故障转移。

缺点: 所有的写操作都必须在主节点进行,因此写操作的扩展性受限。此外,在主节点失效的情况下,系统并不会自动进行故障转移到从节点。

原理: 主节点负责处理所有写操作,并将数据更改同步到所有从节点。从节点可以接受客户端的读请求。

3.哨兵(Sentinel)模式

哨兵模式是建立在主从模式之上的一个系统。它使用一个或多个 Sentinel 进程来监控主从节点的健康状况,并自动执行故障转移操作。

优点: 实现了更高的可用性,提供了自动故障转移。可以实现主节点的自动选举及故障通知。

缺点: Sentinel 的部署和配置相对复杂一些,对网络要求更高,网络分区可能导致错误的故障切换。

原理: Sentinel 进程持续检查主从节点的健康状态。如果主节点失效,Sentinel 会选举一个从节点晋升为新的主节点,其余从节点将更新配置以复制新主节点。

4.集群模式

集群模式允许数据在多个节点间自动分片,每个节点只存储一部分数据。

优点: 提供高可用性和良好的水平扩展能力。当某个节点失效时,只有该节点的一部分数据不可用,而其他节点继续工作。

缺点: 集群模式更加复杂,需要更多的维护工作,对硬件和网络的要求也更高。

原理: 数据根据它们的键进行分片,每个分片又称为一个槽(Slot)。集群内部有16384个槽,每个节点负责其中一部分。当进行数据操作时,Redis 使用CRC16算法对键进行哈希计算,然后根据其结果将数据定位到对应的槽,并由相应的节点处理。

注意:

不同的部署模式适应不同的应用场景和需求。

在对数据可靠性和可用性要求极高的生产环境中,通常会选择哨兵模式或集群模式。

在数据一致性需求高于可用性的场合,哨兵模式可能更合适,因为它能够较好地保持主从节点间数据的同步。

在需要处理大量数据并且希望实现水平扩展的场景下,集群模式将是更好的选择。

相关文章:

Redis的四种模式:单机、主从、哨兵、集群

一、简单理解 单机模式:安装你的redis,启动服务即为单机模式。 主从模式:一个主节点搭配一个或多个从节点,无自动故障转移功能,主节点发生故障后,需要人工将其中一个从节点设置为主节点。 哨兵模式&…...

【开源】基于Vue.js的民宿预定管理系统

项目编号: S 058 ,文末获取源码。 \color{red}{项目编号:S058,文末获取源码。} 项目编号:S058,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用例设计2.2 功能设计2.2.1 租客角色…...

网络安全深入学习第九课——本机信息收集

文章目录 一、Windows基本信息收集1、查看当前权限2、查看指定用户的详细信息3、查看用户SID4、查看网卡配置5、查看服务器版本\补丁等6、查看系统架构7、查看安装的软件及版本8、查看本机服务信息9、查询进程信息和列表10、查看启动程序信息11、查看计划任务12、查看主机开机时…...

深入理解C语言指针基础概念:定义、内存地址与声明初始化

导言: 在C语言中,指针是一项强大而重要的概念,直接涉及内存的底层操作。理解指针的基础概念对于熟练运用C语言以及理解底层系统工作原理至关重要。本文将深入研究指针的定义、内存地址的概念以及指针的声明和初始化,帮助读者建立对…...

Django DRF版本号的处理

在restful规范中,后端的API中需要体现版本。如果项目比较大,需要些很多的视图类,在每一个类中都写一遍会比较麻烦,所以drf中也支持了全局配置。在每个版本处理的类中还定义了reverse方法,他是用来反向生成URL并携带相关…...

[工业自动化-25]:IDEC和泉RU2S-24D/RU4S-24D继电器的使用说明和接线方式

目录 一、外观 1.1 继电器整体: 1.2 继电器主体: 1.3 底座: 二、RU系列通用继电器介绍 2.1 总体 2.2 性能规格 2.3 锁存杆 2.4 信号定义与连线 - 2S系列 (1)24V输入 (2)第一路输出 …...

如何通过短视频提高转化率?

在当今信息爆炸的时代,如何让自己的品牌在众多的短视频中脱颖而出,吸引更多的潜在客户,是许多企业面临的问题。抖音和快手作为目前最受欢迎的短视频平台,为企业提供了无限的营销机会。在这篇文章中,我们将探讨如何通过…...

微软离Altman越近,离OpenAI就越远!

大数据产业创新服务媒体 ——聚焦数据 改变商业 在OpenAI这场连续剧中(之所以说是连续剧,这个事情肯定没完,后面肯定还会出续集),让我倍感意外的是,Altman刚跟OpenAI分手,“离婚手续”都还没办…...

minio集群部署(k8s内)

一、前言 minio的部署有几种方式,分别是单节点单磁盘,单节点多磁盘,多节点多磁盘三种方式,本次部署使用多节点多磁盘的方式进行部署,minio集群多节点部署最低要求需要4个节点,集群扩容时也是要求扩容的节点…...

【C语言】函数(四):函数递归与迭代,二者有什么区别

目录 前言递归定义递归的两个必要条件接受一个整型值(无符号),按照顺序打印它的每一位使用函数不允许创建临时变量,求字符串“abcd”的长度求n的阶乘求第n个斐波那契数 迭代总结递归与迭代的主要区别用法不同结构不同时间开销不同…...

[原创](免改BIOS)使用Clover升级旧电脑-(高阶玩法)让固态硬盘内置Win11 PE启动系统

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XXQQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi…...

React项目中发生空白但不报错的原因分析和解决?

文章目录 前言组件渲染问题状态管理问题异步操作问题代码错误但未抛出异常如果我们使用的是chorme浏览器的话,可以下载一个开发者工具,例如下图:代码审查使用调试工具日志和输出检查外部依赖异步操作终极大法,不到万不得已不可以使…...

redis运维(十七)事务

一 redis事务 事务核心参考 ① 基础概念 1、场景引入核心:通过现象思考原因? 2、事务的概念 3、事务四大特性说明: redis只具备部分特性 重点1: 原子性和一致性 重点2: 隔离性和持久性 ② redis的事务 1、基础铺垫备注&…...

Vue框架学习笔记——Vue实例中el和data的两种写法

文章目录 前文提要Vue实例的el第一种写法第二种写法小结 Vue实例中data第一种写法&#xff0c;对象式效果图片第二种写法&#xff0c;函数式效果图片小结 前文提要 本文仅做自己的学习记录&#xff0c;如有错误&#xff0c;请多谅解 Vue实例的el 第一种写法 <body><…...

libbz2 for Mac OS makefile

git地址&#xff1a;git://sourceware.org/git/bzip2.git a文件Makefile # ------------------------------------------------------------------ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # # bzip…...

测试工具JMeter的使用

目录 JMeter的安装配置 测试的性能指标 TPS 响应时长 并发连接 和 并发用户 CPU/内存/磁盘/网络 负载 性能测试实战流程 JMeter JMeter快速上手 GUI模式 运行 HTTP请求默认值 录制网站流量 模拟间隔时间 Cookie管理器 消息数据关联 变量 后置处理器 CSV 数据文…...

C++编程——输入

#include<bits/stdc.h> using namespace std; int main(){//beginint a 0, b 0, c 0, d 0, e 0;char f1, f2;char g[30];scanf("%d", &a); //输入整数并赋值给变量ascanf("%d", &b); //输入整数并赋值给变量bscanf("%d", &…...

opencv-直方图

直方图是一种对图像亮度分布的统计表示&#xff0c;它显示了图像中每个灰度级别的像素数量。在OpenCV中&#xff0c;你可以使用cv2.calcHist() 函数计算直方图。 以下是一个简单的示例&#xff0c;演示如何计算和绘制图像的直方图&#xff1a; import cv2 import numpy as np …...

el-table表格排序(需要后端判别),el-table导出功能(向后端发送请求)

&#xff08;1&#xff09;表格排序 &#xff08;2&#xff09;简单的table导出功能&#xff08;需要后台支撑&#xff09;必须要有iframe &#xff08;3&#xff09;页面所有代码&#xff1a; <template><div class"mainContainer"><el-form:model&…...

【MATLAB】全网入门快、免费获取、持续更新的科研绘图教程系列2

14 【MATLAB】科研绘图第十四期表示散点分布的双柱状双Y轴统计图 %% 表示散点分布的双柱状双Y轴统计图%% Made by Lwcah &#xff08;公众号&#xff1a;Lwcah&#xff09; %% 公众号&#xff1a;Lwcah %% 知乎、B站、小红书、抖音同名账号:Lwcah&#xff0c;感谢关注~ %% 更多…...

AI编码助手工程化实战:用agent-skills注入资深工程师思维

1. 项目概述&#xff1a;为AI编码智能体注入“资深工程师思维”如果你和我一样&#xff0c;每天都在和Claude Code、Cursor、Antigravity IDE这类AI编码助手打交道&#xff0c;你肯定经历过这种时刻&#xff1a;你让它写个功能&#xff0c;它噼里啪啦给你生成了一堆代码&#x…...

终极下载管理解决方案:AB Download Manager 完全指南

终极下载管理解决方案&#xff1a;AB Download Manager 完全指南 【免费下载链接】ab-download-manager A Download Manager that speeds up your downloads 项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager 你是否经常被杂乱无章的下载文件困扰…...

手撕代码1——力扣1

两数之和 https://leetcode.cn/problems/two-sum/description/ 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案&#xff0c;并且…...

iOS与tvOS非越狱自定义工具Misaka深度解析与实战指南

iOS与tvOS非越狱自定义工具Misaka深度解析与实战指南 【免费下载链接】misaka iOS & tvOS customisation tool for KFD & MDC 项目地址: https://gitcode.com/gh_mirrors/mis/misaka Misaka是一款面向iOS和tvOS设备的革命性自定义工具&#xff0c;它通过KFD和M…...

基于SSH的多跳远程访问工具PKURemote:原理、实现与配置管理

1. 项目概述与核心价值最近在折腾远程办公和实验室资源访问时&#xff0c;发现了一个挺有意思的项目&#xff0c;叫“PKURemote”。光看名字&#xff0c;你大概能猜到它和高校有关&#xff0c;没错&#xff0c;这最初是围绕特定学术机构内网环境访问需求而诞生的一个工具集。但…...

企业级视频上云实战:基于SRS5与GB28181构建安防监控流媒体中台

1. 为什么需要流媒体中台&#xff1f; 最近几年&#xff0c;我帮不少制造业客户搭建过视频监控上云方案&#xff0c;发现一个普遍痛点&#xff1a;企业内网往往部署了几十甚至上百个不同品牌的GB28181摄像头&#xff08;比如海康、大华&#xff09;&#xff0c;这些设备分散在厂…...

GK6323V100C芯片盒子通刷指南:除了咪咕MGV3200,你的CM311-5s等型号也能焕发新生(附固件对比)

GK6323V100C芯片盒子全型号通刷实战手册&#xff1a;解锁隐藏潜能与固件优选策略 当你的客厅电视柜里堆满了各种运营商淘汰的机顶盒——CM311-5s、MGV3201、CM321-5这些看似不同的设备&#xff0c;其实都藏着相同的"心脏"&#xff1a;GK6323V100C芯片。这颗被广泛采用…...

还在用JDK 8?手把手带你把若依3.8.3项目迁移到JDK 17 + SpringBoot 3.1.2(含Maven POM完整配置清单)

从JDK 8到JDK 17&#xff1a;若依3.8.3项目现代化迁移实战指南 当Java生态已全面拥抱模块化与云原生时代&#xff0c;仍停留在JDK 8的技术栈就像用蒸汽机车参加F1比赛。本文将带你完成若依3.8.3项目从JDK 8 SpringBoot 2.5到JDK 17 SpringBoot 3.1的技术跃迁&#xff0c;这份…...

服务注册发现实践

服务注册发现实践&#xff1a;构建高效微服务架构的基石 在微服务架构中&#xff0c;服务注册与发现是确保系统高可用和动态扩展的核心机制。随着服务数量的增加&#xff0c;如何高效管理服务实例的注册、发现与健康状态成为开发者必须面对的挑战。本文将深入探讨服务注册发现…...

23岁亿万富豪创立的Mercor,陷员工舞弊、安全漏洞与文化困境

数据标注初创公司Mercor年化营收破10亿美元&#xff0c;却面临系列挑战数据标注初创公司Mercor由三名二十多岁的年轻人于2023年创立&#xff0c;今年早些时候&#xff0c;公司年化营收突破10亿美元。然而&#xff0c;如今这家公司正面临一系列挑战&#xff0c;包括员工挪用公款…...