Redis与分布式-集群搭建

接上文 Redis与分布式-哨兵模式

1. 集群搭建

搭建简单的redis集群,创建6个配置,开启集群模式,将之前配置过的redis删除,重新复制6份


针对主节点redis 1,redis 2,redis 3都是以上修改内容,只是端口号分别为6001,6002,6003。

然后配置从节点。redis slave 1,redis slave 2,redis slave 3,端口号分别为7001,7002,7003。

配置完启动6个redis

然后输入redis-cli.exe --cluster create --cluster-replicas 1 127.0.0.1:6001 127.0.0.1:6002 127.0.0.1:6003 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003,这里的--cluster-replicas 1指的是每一个节点配置一个从节点

输入yes后等待分配

此时的分配关系为:6001:7003,6002:7001,6003:7002

注:yes之后可能会一直卡顿,我把安全防护和防火墙关闭后没有问题了,如果是校园网有的端口号被封掉也会一直卡着不动。

然后向6001写入数据但是报错,因为写入的地址是15495,而6001分配的插槽范围为0-5460,

此时可通过redis-cli.exe -p 6001 -c启动客户端,若插槽位置不对,会自动转到对应的插槽的redus客户端地址

使用cluster nodes来查看当前所有节点的信息

测试挂掉一个节点,将6001挂掉,查看所有节点信息

然后将6001重新启动查看状态。

若将6001,7003都挂掉

重新启动6001,7003

然后测试使用java连接集群模式下的redis,需要用到JedisCluster对象

c 复制代码
    public static void main(String[] args) {
        //和客户端一样,随便连一个就行,也可以多写几个,构造方法有很多种可以选择
        try(JedisCluster cluster = new JedisCluster(new HostAndPort("127.0.0.1", 6003))){
            System.out.println("集群实例数量:"+cluster.getClusterNodes().size());
            cluster.set("a", "yyds");
            System.out.println(cluster.get("a"));
        }
    }


相关推荐
天天喝旺仔4 分钟前
深入理解 JWT:从 Token 结构、签名机制到前后端鉴权实战
redis·安全·spring·微服务·https
聚美智数15 分钟前
车辆合格证OCR识别-机动车合格证识别-车辆合格证OCR‑机动车出厂证解析‑整车参数提取 API 接口介绍
数据库·经验分享
一只小李郁vickie18 分钟前
Redis 集群部署手册(3主3从)
运维·redis
DBA_G19 分钟前
南大通用技术分享:GBase 8a数据库执行计划架构原理解析
数据库
QQ_216962909626 分钟前
基于SpringBoot+Vue的小生活平台的设计与实现
java·数据库·vue.js·spring boot·spring·微信小程序·生活
懂软件的胡子个哥30 分钟前
微信工单系统如何基于 WechatApi 做消息分流和状态流转
运维·分布式·微信·架构·企业微信
考虑考虑8 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog9 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
梦想平凡10 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
xcLeigh10 小时前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai