Redis集群——入门级实践

安装

创建/usr/local/redis-cluster目录并进入。

  1. 下载github源码redis
bash 复制代码
curl -O http://download.redis.io/releases/redis-6.2.13.tar.gz
  1. 解压文件
bash 复制代码
tar xzf redis-6.2.13.tar.gz
  1. 进入解压后的redis目录
bash 复制代码
cd redis-6.2.13
  1. 安装了make的可以跳过
bash 复制代码
sudo apt install build-essential
  1. 编译redis
bash 复制代码
make
  1. 安装(配置环境变量)
bash 复制代码
sudo make install

redis配置文件

  1. /usr/local/redis-cluster文件夹下再创建7000 7001 7002 7003 7004 70056个文件夹
bash 复制代码
mkdir 7000 7001 7002 7003 7004 7005
  1. cd 7000创建redis.conf文件
bash 复制代码
# 端口号
port 7000
# 后台启动
daemonize yes
# 开启集群                    
cluster-enabled yes
#集群节点配置文件
cluster-config-file nodes-7000.conf
# 集群连接超时时间
cluster-node-timeout 5000
# 进程pid的文件位置  
pidfile /var/run/redis-7000.pid
# 开启aof
appendonly yes
# aof文件路径
appendfilename "appendonly-7005.aof"
# rdb文件路径
dbfilename dump-7000.rdb

在6个目录下都创建这个配置文件,**需要修改端口号。**如果有人难得一个个修改可以想我一样,可使用vim正则匹配批量修改:%s/7000/7001/g

  1. 构建启动脚本

别人写的redis_cluster_start.sh(作参考)

bash 复制代码
#!/bin/bash
# 定义Redis集群节点的端口号
PORTS=(7000 7001 7002 7003 7004 7005)
# 定义Redis集群节点的工作目录
WORKING_DIR=/path/to/redis-cluster
# 创建Redis集群节点的配置文件和数据目录
for port in "${PORTS[@]}"
do

    mkdir -p $WORKING_DIR/$port

    echo "port $port" > $WORKING_DIR/$port/redis.conf

    echo "dir $WORKING_DIR/$port" >> $WORKING_DIR/$port/redis.conf

done
# 启动Redis集群节点
for port in "${PORTS[@]}"
do
    redis-server $WORKING_DIR/$port/redis.conf --daemonize yes
done
# 等待Redis集群节点启动完成
sleep 5

# 创建Redis集群
redis-cli --cluster create \
$(hostname -I | awk '{print $1}'):7000 \
$(hostname -I | awk '{print $1}'):7001 \
$(hostname -I | awk '{print $1}'):7002 \
$(hostname -I | awk '{print $1}'):7003 \
$(hostname -I | awk '{print $1}'):7004 \
$(hostname -I | awk '{print $1}'):7005 \
--cluster-replicas 1
# 输出Redis集群的信息
redis-cli cluster nodes
# 完成启动Redis集群
echo "Redis cluster started successfully!"

我用的redis_cluster_start.sh

bash 复制代码
#!/bin/bash

# 定义Redis集群节点的端口号
PORTS=(7000 7001 7002 7003 7004 7005)
#工作目录
WORKING_DIR=/usr/local/redis-cluster
#启动redis集群节点
for port in "${PORTS[@]}"
do
        redis-server $WORKING_DIR/$port/redis.conf
done

echo "Redis started successfully!"

记得要给redis_cluster_start.sh加上可执行的权限

bash 复制代码
chmod +x redis_cluster_start.sh

我这里只是将6个redis服务启动了,但他们都是单独运行的。

  1. 查看服务是否启动
bash 复制代码
ps -ef | grep redis-server

集群连接

使用redis提供的集群工具

bash 复制代码
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

replicas 1表示一个master节点只有一个salve节点 。

查看集群节点信息

bash 复制代码
redis-cli -c -p 7000 cluster nodes

集群使用

bash 复制代码
redis-cli -c -p 7000

-c参数是为了指明连接到集群的节点

多插入几条数据看看有什么变化哦

结言

有些的不对的地方欢迎扇我,别客气

【参考文章】
Redis集群的原理和搭建 - 掘金

相关推荐
Elastic 中国社区官方博客15 分钟前
Kibana:使用 AI Chat 及 MCP 轻松创建 AI 原生仪表板
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·信息可视化
杨云龙UP1 小时前
Oracle Health Check巡检脚本使用SOP V2.0:从HTML原始报告→生成Word专业巡检报告→交付客户_2026-06-03
linux·运维·数据库·sql·oracle·报告·巡检
Database_Cool_1 小时前
Hudi 湖仓一体架构:阿里云 AnalyticDB MySQL 原生集成最佳实践
数据库·mysql·阿里云
我是一颗柠檬1 小时前
【Redis】发布订阅与消息队列Day8(2026年)
数据库·redis·后端·缓存
sukioe1 小时前
Redis 持久化+高可用详解:RDB/AOF/混合/主从/哨兵/集群
数据库·redis·缓存
全栈软件开发2 小时前
祈福导航系统V1.1更新 优化后端控制逻辑和前台UI
数据库·祈福导航系统
_qingche3 小时前
H2 数据库到 MySQL 数据迁移
java·数据库·spring boot·mysql·spring·重构·kotlin
AOwhisky3 小时前
MySQL 学习笔记(第一期):数据库基础与 MySQL 初探
运维·数据库·笔记·学习·mysql·云计算
数据库小学妹3 小时前
MySQL ORDER BY 深度解析:Using temporary 与 Using filesort 的底层机制及索引优化实战
数据库·经验分享·mysql·性能优化·dba
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题 第93题】【Mysql篇】第23题:从查找速度来看,聚集索引和非聚集索引哪个更快?
java·开发语言·数据库·mysql·面试