Java学习 - Redis-Cluster

为什么需要集群

  • 为了高的处理速度
    • 单机redis,官网宣传处理速度为10万命令/秒
    • 如果业务需要更高的处理速度,则需要使用集群
  • 为了存储大量数据
    • 一般机器的内存为16-256G
    • 如果想要存储更大量的数据,则需要使用集群

分布式之数据分区

  • 因为数据需要分布存储在不同的节点上,所以数据在进行存储之前需要先分区

  • 数据分区示意图
    在这里插入图片描述

  • 数据分区方法

    分区方式特点典型产品
    顺序分区数据分散有倾斜(某些节点有过多热门数据)
    可以顺序访问
    键与业务有关
    BigTabl
    HBase
    哈希分区数据分布无倾斜
    不能顺序访问
    键与业务无关(由哈希函数生成)
    Redis Cluster
    Memcache
  • 哈希分区的三种方法

    • 节点取分区余法

      • 原理:数据所属节点 = Hash(key) % 节点数
      • 优点:原理简单,实现简单
      • 缺点:在进行节点伸缩过程中,可能会发生大量的数据迁移,且缓存会失效
      • 经验:进行节点伸缩时,最好是以倍数进行扩容或缩减
    • 一致性哈希分区法

      • 原理:先定义Hash的取值范围,令它组成一个环,集群中每个节点负责一区间的Hash值,当一个数据加入集群时,让它加入哈希值按顺时针最近的节点

        在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

* 优点:节点伸缩只会影响最近邻近节点

* 缺点:还是具有数据迁移
  • 虚拟槽分区法

    • 原理:预设虚拟槽,每个槽映射一个数据子集,一般比节点数大

      在这里插入图片描述

    • 优点:不会发生数迁移

    • 经验:redis-cluster使用的数据分区算法是虚拟槽分区法

redis-cluster架构

架构图
  • 节点之间相互通信,客户端随机连接一个节点

在这里插入图片描述

  • 集群中节点共享信息
  • 当客户端访问一个节点拿数据时
    • 数据就在访问节点:直接返回数据给客户端
    • 数据在其他节点:返回信息告诉客户端去哪个节点拿数据(不帮忙拿,只是告诉去哪里拿)
  • 集群中节点是高可用的,但不是依靠sentinel实现的,而是依靠节点之间通信实现的
节点配置
配置项配置说明
daemonize yes|no是否以守护线程方式启动
port端口
dir工作目录
logfile日志文件名
dbfilenameRDB文件名
cluster-enabled yes|no是否构建集群
cluster-config-file集群日志文件名
cluster-require-full-coverage yes|no是否只有当所有节点都可用时,集群才可用
meet操作
  • 概念:当一个节点A与节点B连接时,由于节点数据共享,所以节点B可以自动连接上与节点A进行连接的节点

    在这里插入图片描述

  • 命令

    • redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7001
指派槽
  • 概念:让某个节点负责某个区间哈希值的槽

    节点
    A0 ~ 5460
    B5461 ~ 10922
    C10923 ~ 16383
  • 经验:当集群中未分配完所有的槽(16383)时,节点是不可用的

主从复制
客户端命令
  • 查看当前节点的信息
    • redis-cli -h 127.0.0.1 -p 7000 cluster info
  • 查看当前节点连接了多个其他节点
    • redis-cli -h 127.0.0.1 -p 7000 cluster nodes

官方工具安装

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

KEYSIGHT是德科技 E5063A ENA 系列网络分析仪

E5063A ENA 矢量网络分析仪 18GHz 2端口 降低无源射频元器件的测试成本 Keysight E5063A ENA 是一款经济适用的台式矢量网络分析仪,可用于测试简单的无源元器件,例如频率最高达到 18 GHz 的天线、滤波器、电缆或连接器。 作为业界闻名的 ENA 系列…

工具:颜色查询 / CMYK颜色查询RGB、HSL、HSV、XYZ的颜色值

一、颜色查询-网址 RGB(90,223,9),#5ADF09 颜色查询,颜色梯度,色彩搭配,色盲模拟 - RGB颜色查询 - 在线工具 - Fontke.com 二、CMYK颜色查询RGB、HSL、HSV、XYZ的颜色值 三、颜色梯度 四、色彩搭配 五、色盲模拟 六、欢迎交流指正

程序员的加油站,各类技术文章,可视化技术,在线源码资源,在线实用工具,数据爬虫接口持续集成更新中

先挂网址:https://wheart.cn 可视化大屏模板与设计,在线预览 上百例可视化模板 技术文章、资源下载等各类资源导航页 echart在线实用demo 各种在线工具提升开发效率 echart在线代码模板

服务器之BIOS基础知识总结

1.BIOS是什么? BIOS全称Basic Input Output System,即基本输入输出系统,是固化在服务器主板的专用ROM上,加载在服务器硬件系统上最基本的运行程序,它位于服务器硬件和OS之间,在服务器启动过程中首先运行&am…

配置Uptime Kuma固定前缀

在做ICT集成项目时,遇到需要对现网接口进行拨测的需求。搜索后尝试使用开源的Uptime Kuma组件完成现网接口拨测。 但该项目有个问题就是默认不支持配置固定前缀,这对现网进行请求转发会造成较大的影响。通过查看该项目的github后找到了问题的解决方案。S…

助力游戏实现应用内运营闭环,融云游戏社交方案升级!

通信能力在所有应用场景都是必备组件,这源于社交属性带给应用的增长神话。 在游戏场景,玩家从少数核心向大众用户泛化扩展的过程,就是游戏深度融合社交能力的过程。 从单机到联机,游戏乐趣的升级 1996 年,游戏界顶流…

Laravel swagger接口文档生成和管理

Laravel swagger接口文档生成和管理 接口开发随着时间推移接口会越来越多,随着多部门之间的协作越来越频繁, 维护成本越来越高, 文档的可维护性越来越差, 需要一个工具来管理这些接口的文档, 并能够充当mock server给调用方使用 这里推荐swagger生成和管理接口文档&…

硅纪元视角 | 1 分钟搞定 3D 创作,Meta 推出革命性 3D Gen AI 模型

在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,…

Arthas实战(2)- OOM问题排查

一、 准备测试应用 新建一个 SpringBoot应用&#xff0c;写一段有 OOM bug 的代码&#xff1a; RestController RequestMapping public class JvmThreadController {List<TestWrapper> memoryList new ArrayList<>();GetMapping("/test")public Strin…

Element 的 el-table 表格实现单元格合并

html 部分 <template><div class"index-wapper"><el-table :data"tableData" :span-method"objectSpanMethod" border><el-table-column v-for"(item, index) in tableHeader" :key"index" :prop&quo…

【C语言】auto 关键字

在C语言中&#xff0c;auto关键字用于声明局部变量&#xff0c;但它的使用已经变得很少见。事实上&#xff0c;从C99标准开始&#xff0c;auto关键字的默认行为就是隐含的&#xff0c;因此在大多数情况下无需显式使用它。 基本用法 在C语言中&#xff0c;auto关键字用于指定变…

五粮液:稳,还稳得住吗?

前有“酱香”茅台一骑绝尘&#xff0c;后有“清香”汾酒21%的增速虎视眈眈。 在新的股东大会上&#xff0c;管理层把“稳”字说了近30次。 就问白酒二哥——五粮液&#xff0c;你还稳得住吗&#xff1f; 近期&#xff0c;白酒大哥茅台因跌价吸引各方关注&#xff0c;但在这一…

【目标检测】DN-DETR

一、引言 论文&#xff1a; DN-DETR: Accelerate DETR Training by Introducing Query DeNoising 作者&#xff1a; IDEA 代码&#xff1a; DN-DETR 注意&#xff1a; 该算法是在DAB-DETR基础上的改进&#xff0c;在学习该算法前&#xff0c;建议掌握DETR、DAB-DETR等相关知识…

学习伦敦金技术分析的具体步骤是什么?

技术分析是我们分析伦敦金市场的重要工具&#xff0c;刚入市就面对时涨时跌的市场应该如何交易呢&#xff1f;投资者如果不掌握技术分析的方法&#xff0c;恐怕对这个问题会没有头绪。入场都没有&#xff0c;盈利就更加无从谈起了。而学习技术分析&#xff0c;是有不同的阶段、…

技术周总结 2024.06.24~06.30(Python并发执行shell并发执行 Spring Bean)

文章目录 一、 06.26 周三1.1&#xff09;问题01&#xff1a;怎么在mysql的命令行中查询出来 python能使用的元祖结果集1.2&#xff09;问题02&#xff1a;python中 set()是什么&#xff0c;怎么使用 二、06.27 周四2.1&#xff09;问题01&#xff1a;shell 并发执行2.2&#x…

工程文件参考——CubeMX+LL库+SPI主机 阻塞式通用库

文章目录 前言CubeMX配置SPI驱动实现spi_driver.hspi_driver.c 额外的接口补充 前言 SPI&#xff0c;想了很久没想明白其DMA或者IT比较好用的方法&#xff0c;可能之后也会写一个 我个人使用场景大数据流不多&#xff0c;如果是大批量数据交互自然是DMA更好用&#xff0c;但考…

WPF自定义模板--TreeView 实现菜单连接线

有些小伙伴说&#xff0c;在TreeView中&#xff0c;怎么每一个都加上连接线&#xff0c;进行显示连接。 代码和效果如下&#xff1a; 其实就是在原来的模板中增加一列显示线条&#xff0c;然后绘制即可 <Window x:Class"XH.TemplateLesson.TreeViewWindow"xmln…

使用EndNote在Word中插入参考文献,并编辑参考文献样式方法

一、背景 在准备中期报告时&#xff0c;学校给的是Word模板&#xff0c;习惯了Latex排版和添加参考文献的便利后&#xff0c;真不想用word写东西。 之前投《机器人》期刊&#xff08;被拒了&#xff09;和准备开题的时候也是用word写的&#xff0c;当时为方便添加参考文献和定…

C++初学者指南-3.自定义类型(第一部分)-异常

C初学者指南-3.自定义类型(第一部分)-异常 文章目录 C初学者指南-3.自定义类型(第一部分)-异常简介什么是异常&#xff1f;第一个示例用途:报告违反规则的行为异常的替代方案标准库异常处理 问题和保证资源泄露使用 RAII 避免内存泄漏&#xff01;析构函数&#xff1a;不要让异…

labview技巧——AMC框架安装

AMC工具包的核心概念是队列&#xff0c;队列是一种先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的数据结构&#xff0c;适用于处理并发和异步任务。在LabVIEW中&#xff0c;队列可以用于在不同VI之间传递数据&#xff0c;确保消息的有序处理&#xff0…