7.redis-集群

一.概念

  1.分片

集群中的每个redis实例都被认为是整个数据的一个分片,官方建议是最大1000个

  2.槽位

redis集群有16384个哈希槽,每个key通过CRC16校验后通过总分片数量,对16384取模来决定放哪个槽,集群的每个节点负责一部分hash槽位。

  3.槽位算法 哈希取余,一致性哈希算法,哈希槽

二.集群部署

  1.3主3从redis集群配置

    1) 3台虚拟机,各自创建 mkdir -p /myredis/cluster

    2) 新建6个独立的redis实例,次处只列出一个配置,其他配置改相应的端口号就可以

bind 0.0.0.0
daemonize yes
protected-mode no
port 6381
logfile "/myredis/cluster/cluster6381.log"
pidfile /myredis/cluster/cluster6381.pid
dir /myredis/cluster
dbfilename dump6381.rdb
appendonly yes
appendfilename "appendonly6381.aof"
requirepass 123456
masterauth 123456

cluster-enabled yes
cluster-config-file nodes-6381.conf
cluster-node-timeout 5000

   然后分别在三台服务器上启动6个实例

# 192.168.3.128

redis-server /myredis/cluster/redisCluster6381.conf

redis-server /myredis/cluster/redisCluster6382.conf

# 192.168.3.129 

redis-server /myredis/cluster/redisCluster6383.conf

redis-server /myredis/cluster/redisCluster6384.conf

#192.168.3.130

redis-server /myredis/cluster/redisCluster6385.conf

redis-server /myredis/cluster/redisCluster6386.conf

    3) 通过redis-cli 命令为6台机器构建集群关系,

redis-cli -a 123456 --cluster create --cluster-replicas 1 192.168.3.128:6381 192.168.3.128:6382 192.168.3.129:6383 192.168.3.129:6384 192.168.3.130:6385 192.168.3.130:6386

    --cluster-replicas 1 表示为每个maser创建一个slave节点

    成功之后如下:

 

    4) 链接进入6381作为切入点,查看并检验集群状态

info replication

cluster info

cluster nodes

  2.3主3从redis集群读写

    1) 登录

redis-cli -a 123456 -p 6381 -c

    2) 查看某个key属于对应的槽位值

cluster keyslot 键名称

  3.主从容错切换迁移案例

  4.主从扩展案例

  5.主从降容案例

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

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

相关文章

springboot+vue+java高速公路收费管理系统的设计

.第一,友好界面。高速公路收费管理系统开发设计,界面的友好性比较重要,满足这一要求才能体现出人性化设计特征,和用户应用系统便捷性相适应,动态的人机交互设计,用户应用系统的时候能感受到操作的便利&…

Maven核心概念

一、Maven基础知识 Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档。 1、Maven模型 2、仓库分类 本地仓库:自己计算机上的一个目录中央仓库&a…

【vite+vue3】 多页面应用模式

需要注意到的点: 1. 项目文件结构 2. vite.config.js 的配置 3. 访问地址的路径 假设你有下面这样的项目文件结构 ├── package.json ├── vite.config.js ├── index.html ├── main.ts └── src├── project|————projectA&#xf…

1669_MIT 6.828 xv6代码的获取以及编译启动

全部学习汇总: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 6.828的学习的资料从开始基本信息的讲解,逐步往unix的一个特殊版本xv6过度了。这样,先得熟悉一下这个OS的基本代码以及环境。 在课程中其实…

Python工具库安装

1、Python工具库下载 (1)查询安装Python的版本信息。 按键 WinR,在弹出的“运行”对话框中输入cmd,在弹出的Dos系统中,输入python,即可查询得到Python的版本信息。本次所安装的python版本为3.8.10。 &…

后端开发之Swagger API开发工具

最近刚入职公司,做Java后端。当下对于新手程序员来说,的确并不友好,不仅是经济低迷,而且这次chatgpt的大火也极大地冲击了软件开发行业,所以小白必须抓紧时间卷,哪怕自己写出来的东西把自己搞失业……也要尽…

【Python从入门到进阶】14、字典高级应用

接上篇《13、元组高级应用及常见切片操作》 上两篇我们学习了Python中元组的高级应用,以及字符串、列表和元祖的切片操作。本篇我们来学习字典的高级应用,包括字典的查询、修改、添加、删除及遍历操作。 一、字典高级简介 我们通过前面的学习知道&…

ORACLE创建表空间、用户、授权和Navicat创建序列和触发器及解决ORA-00942、ORA-01219错误

问题描述:因为每次Oracle删除数据库的时候磁盘文件还没删除,然后自己手动停止Oracle,删除磁盘里的.DBF文件导致数据库重启后无法连接。 cmd sqlplus sys as sysdba执行alter database open;查看你报错的数据文件(就是你停止Orac…

Git 基础知识总结

Git 基础知识总结 1. Git 简介 Git 是什么 Git是一款分布式版本控制系统,可以有效地管理代码的版本和变更。Git可以在本地进行版本控制,也可以在多人协作开发时进行远程版本控制。Git的设计目标是速度快、数据完整性高、支持分布式、非线性开发流程。…

NVIDIA-cuSPARSE数据类型2023年(二)

4 cuSPARSE数据类型参考 4.1 数据类型 float,double,cuComplex,cuDoubleComplex后两个类型是来自cuComplex.h 4.2 cusparseStatus_t 表示库函数返回的状态,可以有以下取值: CUSPARSE_STATUS_SUCCESS 操作成功完成CUSPARSE_STATUS_NOT_INITIALIZED 库…

SpringBoot整合junitmybatis

SpringBoot整合junit&mybatis3,SpringBoot整合junit3.1 环境准备3.2 编写测试类4,SpringBoot整合mybatis4.1 回顾Spring整合Mybatis4.2 SpringBoot整合mybatis4.2.1 创建模块4.2.2 定义实体类4.2.3 定义dao接口4.2.4 定义测试类4.2.5 编写配置4.2.6 …

拉取代码到本地 git pull 和 git clone 的区别

一、git pull 使用 git pull 拉取代码,你需有权限。 从你自己的远程仓库拉取代码,或者使用你团队的仓库拉取代码。 1.有 有权限可以拉取代码的远程仓库 1. 所以首先要连接远程仓库,前提你得先有个本地仓库存放,如果没有先创建。 …

ToBeWritten之反入侵安全技术面经总结

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…

ReactJS到React-Native,架构原理概述

React是一个纯JS的UI库,只能干HTML/CSS/JS 提供的Web服务(新的H5 API不一定支持), React-Native厉害在于它能打通JS和Native Code, 让JS能够调用丰富的原生接口,充分发挥硬件的能力, 实现非常复杂的效果,同时能保证效率和跨平台性…

【CocosCreator入门】CocosCreator组件 | MotionStreak(拖尾)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中MotionStreak是Cocos Creator中一个非常有用的特效组件,可以创建出类似于拖尾的效果。本文将深入讲解MotionStreak的实现原理及使用方法。 目录 一、MotionStreak的实现原…

黑客与渗透师的区别,如何才能成为一名黑客

网络安全员顾名思义就是“研究网络的安全性的人员”没有“渗透师”这个称呼,都是“渗透测试工程师”“黑客”像是个俗名,广义概念上是一种精神,狭义概念还得按照时代来分1、网络安全这个领域非常庞大,包括了安全服务(渗…

碉堡!“万物皆可分”标记模型上线「GitHub 热点速览」

作者:HelloGitHub-小鱼干这周有个让人眼前一亮的图像识别模型 segment-anything,它能精细地框出所有可见物体,它标记出的物体边界线清晰可见。如此出色的模型,自然获得了不少人的赞赏,开源没几天,就拿下了 …

VSCode+PyQt之Python界面编写

环境配置 1、python3.9 2、安装库 pip install PyQt5 pip install PyQt5-tools3、选择python解释器 4、在VSCode里下载并安装PYQT Integration 5、配置pyqt integration 5.1 将下面改为:D:\ProgramFiles\Python39\Scripts\pyuic5.exe 5.2 将下面的改为&#xff…

Kafka 入门篇(三)

文章目录 提交和偏移量的概念特殊偏移自动提交提交当前偏移量异步提交同步和异步组合提交提交特定的偏移量提交和偏移量的概念 特殊偏移 我们上面提到,消费者在每次调用poll() 方法进行定时轮询的时候,会返回由生产者写入 Kafka 但是还没有被消费者消费的记录,因此我们可以…

ccc-pytorch-宝可梦自定义数据集实战-加载数据部分(9)

文章目录第一步:构建路径与种类的映射关系第二步:载入所有的宝可梦图像第三步:打散顺序并通过路径名提取映射关系构建映射文件第四步:完善选取、获取图片信息功能并可视化第五步:对数据进行预处理第六步:批…