面试redis篇-12Redis集群方案-分片集群

原理

主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决:

  • 海量数据存储问题
  • 高并发写的问题 

使用分片集群可以解决上述问题,分片集群特征:

  • 集群中有多个master,每个master保存不同数据
  • 每个master都可以有多个slave节点
  • master之间通过ping监测彼此健康状态
  • 客户端请求可以访问集群任意节点,最终都会被转发到正确节点

分片集群结构-数据读写

        Redis 分片集群引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key通过 CRC16 校验后对 16384 取模来决定放置哪个槽,集群的每个节点负责一部分 hash 槽。

问答

面试官:redis的分片集群有什么作用
候选人:分片集群主要解决的是,海量数据存储的问题,集群中有多个master,每个master保存不同数据,并且还可以给每个master设置多个slave节点,就可以继续增大集群的高并发能力。同时每个master之间通过ping监测彼此健康状态,就类似于哨兵模式了。当客户端请求可以访问集群任意节点,最终都会被转发到正确节点


面试官:Redis分片集群中数据是怎么存储和读取的?
候选人
在redis集群中是这样的
Redis 集群引入了哈希槽的概念,有 16384 个哈希槽,集群中每个主节点绑定了一定范围的哈希槽范围, key通过 CRC16
校验后对 16384 取模来决定放置哪个槽,通过槽找到对应的节点进行存储。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706161.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10 Redis之SB整合Redis

7. SB整合Redis Spring Boot 中可以直接使用 Jedis 实现对 Redis 的操作,但一般不这样用,而是使用 Redis操作模板 RedisTemplate 类的实例来操作 Redis。 RedisTemplate 类是一个对 Redis 进行操作的模板类。该模板类中具有很多方法,这些方…

compose 创建button示例

在 Jetpack Compose 中,创建一个按钮(Button)的实例是相对简单的。下面是一个基本的 Button 示例,展示了如何定义一个带有点击事件和文本的按钮: kotlin 复制 import androidx.compose.foundation.layout.fillMaxWidt…

Node.js-文件读取输入

Node.js-文件读取输入 fs模块(操作文件的模块) 读取 fs.readFile(path[, options], callback);[]里面 是可选参数,表示以什么样的编码 格式读取path是路径callback表示读取完成后的回调函数 例子 fs.readFile (‘./files/11.txt…

【手机端测试】adb基础命令

一、什么是adb adb(Android Debug Bridge)是android sdk的一个工具 adb是用来连接安卓手机和PC端的桥梁,要有adb作为二者之间的维系,才能让用户在电脑上对手机进行全面的操作。 Android的初衷是用adb这样的一个工具来协助开发人…

el-submenu is-opened 展开/闭合;el-submenu is-opened保持一个子菜单的展开控制

写了个mes系统目录 点击子菜单展开后&#xff0c;上一级菜单没有默认关闭。主流后台管理系统大部分都是保持一个子菜单关闭状态、 问度娘无果后&#xff0c;查询官网&#xff0c;一个属性搞定。 unique-opened 是否只保持一个子菜单的展开 加在 <el-menu 组件上即可 完整代…

解决Docker镜像中CentOS 8仓库问题

前言&#xff1a; 在yum执行过程中&#xff0c;持续遇到与CentOS 8上的’appstream’仓库元数据检索相关的错误。具体错误消息为&#xff1a;“错误&#xff1a;下载’appstream’仓库元数据失败&#xff1a;无法准备内部镜像列表&#xff1a;镜像列表中没有URL。” 问题分析&…

LeetCode_Java_动态规划系列(1)(题目+思路+代码)

目录 斐波那契类型 746.使用最小花费爬楼梯 矩阵 120. 三角形最小路径和 斐波那契类型 746.使用最小花费爬楼梯 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。…

正则表达式中的特殊字符

以下是一些常见的正则表达式特殊字符及其含义&#xff1a; . &#xff1a;匹配任何单个字符&#xff08;除了换行符&#xff09;。^ &#xff1a;匹配输入字符串的开始位置。在方括号表达式中使用时&#xff0c;表示不接受该字符集合。$ &#xff1a;匹配输入字符串的结束位置…

Leetcode202. 快乐数中为什么一定会循环?

他提示中是2的31次方&#xff1a; 相当于我就当它10个9&#xff0c;那么通过一次变换变成了81*10 810&#xff0c;所以他以后最后的范围也只能在[0,810]之间&#xff0c;810是最大的&#xff0c;然后任意一个数x&#xff0c;通过810次变换都不重复&#xff0c;那么811次变换那…

C#面:switch 表达式可以用什么类型?能用 string 类型吗?

在C# 8.0及更高版本中&#xff0c;switch 表达式可以使用以下类型&#xff1a; 整数类型&#xff08;如 int、long、byte 等&#xff09;。字符类型&#xff08;char&#xff09;。字符串类型&#xff08;string&#xff09;。枚举类型&#xff08;enum&#xff09;。布尔类型…

GIS之深度学习01:检测电脑是否包含英伟达GPU

GPU&#xff08;Graphics processing unit&#xff09;&#xff0c;中文全称图形处理器&#xff0c;我们听说的更多的CPU全称是central processing unit&#xff0c;中央处理器。研究深度学习和神经网络大都离不开GPU&#xff0c;在GPU的加持下&#xff0c;我们可以更快的获得模…

【QT+QGIS跨平台编译】之五十二:【QGIS_CORE跨平台编译】—【qgsexpressionlexer.cpp生成】

文章目录 一、Flex二、生成来源三、构建过程一、Flex Flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison 语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C 语言写成。 “flex 是一个生成扫描器的工具,能够识别文本中…

Redis高可用三主三从集群部署(三种方式部署/18个节点的大集群)

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容使用宝塔面板搭建集群规划配置验证 使用docker搭建使用脚本搭建规划防火墙端口配置脚本redis.conf配置文件执行过程 &#x1f4e2;文章总结&#x1f4e5;博主目标 &#x1f50a;博主介绍 &#x1f31f;我是廖志伟&#xff…

c入门第二十五篇: 学生成绩管理系统优化(多线程)

前言 程夏&#xff1a;“你这个系统不好用啊&#xff1f;连上之后没有反应&#xff0c;是不是挂了&#xff1f;” 师弟&#xff1a;“不应该啊&#xff0c;我这边好好的&#xff0c;可以正常操作的。” 程夏&#xff1a;“我这边有问题&#xff0c;大概率还是你系统问题。你…

springboot整合druid及可能遇到的问题

第一步&#xff0c;导入druid的maven依赖 在这里&#xff0c;我们选择导入druid-spring-boot-starter&#xff0c;使用配置文件的形式进行配置&#xff08;不需要再编写配置类&#xff09; <dependency><groupId>com.alibaba</groupId><artifactId>dr…

C语言标准库函数qsort( )——数据排序

大家好&#xff01;我是保护小周ღ&#xff0c;本期为大家带来的是深度解剖C语言标准库函数 qsort()&#xff0c;qsort()函数他可以对任意类型的数据排序&#xff0c;博主会详细解释函数使用方法&#xff0c;以及使用快速排序的左右指针法模拟实现函数功能&#xff0c;这样的排…

算法练习第七天|454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和

hash表【数组、map】以及双指针的运用 454.四数相加II public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {//nums1,nums2的和作为key&#xff0c;出现次数记位valueMap<Integer,Integer> map new HashMap<Integer,Integer>();for(i…

IT廉连看——C语言——分支语句

IT廉连看—分支语句 一、什么是语句 C语句可分为以下五类&#xff1a; 表达式语句 函数调用语句 控制语句 复合语句 空语句 本周后面介绍的是控制语句。 控制语句用于控制程序的执行流程&#xff0c;以实现程序的各种结构方式&#xff0c;它们由特定的语句定义符组成&…

Delphi 报错 Type androidx.collection.ArraySet is defined multiple times

Delphi 11 建立一个新的 Multi-Device Application 编译成app的时候报错 报错信息 [PAClient Error] Error: E7688 Unable to execute "E:\Program\Java\jdk1.8.0_301\bin\java.exe" -cp "e:\program\embarcadero\studio\22.0\bin\Android\r8-3.3.28.jar"…

FPGA_SD卡读写

一 SD卡 SD卡&#xff0c;安全数字卡&#xff0c;体积小&#xff0c;容量大&#xff0c;存储速度块&#xff0c;支持热插拔。 二 SD卡存储容量 SD卡类型协议规范容量等级SDSCSD1.0上限至2GBSDHCSD2.02GB至32GBSDXCSD3.032GB至2TB 三 SD卡速度等级 标志串列数据写入速度UHS…