redis重新创建集群的实现步骤

 更新时间:2026年05月24日 15:21:06   作者:fixAllenSun  
本文主要介绍了redis重新创建集群的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

【一】过程

【1】停止所有 Redis 集群节点

先把 3 台服务器上的 Redis 进程全部停止,防止清理文件时进程写入数据:

# 登录每台Redis服务器,执行停止命令(替换为你的Redis安装路径)
# 方式1:用redis-cli停止(推荐,优雅关闭)
redis-cli -h 本机IP -p 6379 shutdown

# 方式2:若方式1失败,用kill命令(谨慎,避免数据丢失)
ps -ef | grep redis-server | grep -v grep | awk '{print $2}' | xargs kill -9

验证停止结果:ps -ef | grep redis-server 无输出则说明已停止。

【2】清理每个节点的集群残留数据

Redis 集群的元数据、槽位信息、数据会存在数据目录和集群配置文件中,必须全部删除,否则重新创建集群会读取旧数据。

先查看redis.conf,确认数据存储路径(每台节点都要查),确定数据存储路径后,删除data目录下的文件

cd /home/redis/redis_home/6379/data && rm -rf *
cd /home/redis/redis_home/6380/data && rm -rf *

【3】重启服务

cd /home/redis/redis_home/bin
./redis-server ../6379/conf/redis.conf && ./redis-server ../6380/conf/redis.conf

即使删除了文件,部分节点可能残留集群标识,执行重置命令确保节点回到 “单机” 状态:

# 启动单个Redis节点(先不创建集群)
redis-server /etc/redis/redis.conf

# 连接节点,重置集群状态
redis-cli -h 本机IP -p 6379
127.0.0.1:6379> CLUSTER RESET HARD  # 硬重置,清除所有集群相关数据
127.0.0.1:6379> exit

# 再次停止该节点(准备重新创建集群)
redis-cli -h 本机IP -p 6379 shutdown

每台节点都要执行上述 “启动→重置→停止” 操作!

【4】创建集群,验证集群节点

如果配置了host就用host的名称,也可以直接在命令里使用ip

./redis-cli -a Yatop@Bqd@2025 --cluster create redis1.yatop.com:6379 redis1.yatop.com:6380 redis2.yatop.com:6379 redis2.yatop.com:6380 redis3.yatop.com:6379 redis3.yatop.com:6380 --cluster-replicas 1
cluster info
cluster nodes

【5】常见问题

(1)创建集群提示 “node is not empty”:
原因是残留了数据 / 元数据,回到步骤 2 重新清理nodes-6379.conf和dump.rdb;
(2)集群创建后槽位未分配:
执行redis-cli --cluster fix 192.168.1.101:6379自动修复槽位;
(3)节点无法连接:
检查防火墙(开放 6379 和 16379 端口)、redis.conf中bind配置(建议设为 0.0.0.0)、protected-mode设为no。

【二】客户端连接集群并使用

【1】以redis集群方式进行连接

注意:-c 表示是以redis集群方式进行连接

./redis-cli -h 192.168.0.102 -p 7001 -c

【2】查看集群状态

cluster info

【3】查看集群中的节点

cluster nodes

【4】添加数据并查看

从7001添加数据看看(如何选择和分配槽位slot的原理看一下)

从7002查询数据

【5】客户端工具连接

可以使用Another Redis Desktop Manager
下载地址:https://gitee.com/qishibo/AnotherRedisDesktopManager/releases

创建连接会话的时候,勾选cluster,标识连接redis集群,这样所有节点槽位的数据都可以查到了

到此这篇关于redis重新创建集群的实现步骤的文章就介绍到这了,更多相关redis重新创建集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • redis中跳表zset的具体使用

    redis中跳表zset的具体使用

    Redis跳表zset是一种结合了跳表和有序集合的高效数据结构,适用于实现排序和大规模数据的快速查询,本文主要介绍了redis中跳表zset的具体使用,感兴趣的可以了解一下
    2024-01-01
  • 详解Redis数据结构之跳跃表

    详解Redis数据结构之跳跃表

    这篇文章主要介绍了Redis数据结构中的跳跃表的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Redis中ZSet数据结构与滑动窗口应用实现

    Redis中ZSet数据结构与滑动窗口应用实现

    Redis ZSET融合哈希表与跳跃表,支持O(1)成员查询和O(logN)排序,适用于排行榜及滑动时间窗口限流,下面就来介绍一下Redis中ZSet数据结构与滑动窗口应用,感兴趣的可以了解一下
    2025-07-07
  • redis缓存神器之@Cacheable注解详解

    redis缓存神器之@Cacheable注解详解

    文章介绍了如何在SpringBoot中使用Redis和@Cacheable注解进行缓存分页数据,以及在数据更新时如何更新缓存,通过使用@EnableCaching、@Cacheable、@CachePut和@CacheEvict注解,可以简化缓存操作并提高系统性能
    2025-11-11
  • 浅谈Redis中bind的坑

    浅谈Redis中bind的坑

    本文主要介绍了浅谈Redis中bind的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 使用Redis实现实时排行榜的示例

    使用Redis实现实时排行榜的示例

    为了实现一个实时排行榜系统,我们可以使用Redis的有序集合,本文主要介绍了使用Redis实现实时排行榜的示例,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • Redis与数据库数据一致性的原因及解决方案

    Redis与数据库数据一致性的原因及解决方案

    Redis作为一种高效的键值对存储系统,常用于缓存数据库减少IO操作,下面这篇文章主要介绍了Redis与数据库数据一致性的原因及解决方案,文中介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • redis和mysql同步(双写一致性)的实现

    redis和mysql同步(双写一致性)的实现

    Redis 和 MySQL 的同步是现代应用中常见的需求,正确的同步方案能够提高系统的性能和数据一致性,本文介绍了几种常见的同步方式,下面就来详细的介绍一下,感兴趣的可以了解一下
    2025-09-09
  • 内存型数据库Redis持久化小结

    内存型数据库Redis持久化小结

    redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到磁盘来保证持久化.redis支持四种持久化方式,一是 Snapshotting(快照)也是默认方式,二是Append-only file(缩写aof)的方式,三是虚拟内存方式,四是diskstore方式.今天我们总结下前2种。
    2017-09-09
  • Redis缓存雪崩、缓存击穿、缓存穿透详解

    Redis缓存雪崩、缓存击穿、缓存穿透详解

    本文介绍了缓存雪崩、击穿、穿透三种问题:雪崩因大量缓存同时失效导致数据库压力激增,需差异化TTL、多级缓存及熔断机制;击穿由热点key失效引发,可用互斥锁、逻辑过期或预加载;穿透则因非法查询穿透缓存,需布隆过滤器、空对象或参数校验
    2025-07-07

最新评论