东东's Blog

macOS 系统部署 Valkey 集群模式

之前记录过一篇《macOS 系统安装 Redis 并启用集群模式》,用 bash 脚本启动多个 Redis 实例,操作有些繁琐。

现在用 OrbStack 配合 Docker Compose 跑 Valkey 集群,方便本地开发,记一下常用操作。

本文使用 macOS + OrbStack,其他环境未测试。

获取配置

先启动 OrbStack,本机需要有 Python 3.10 或更新版本。

mkdir -p ~/Portable
cd ~/Portable
git clone https://github.com/sincerefly/conf-valkey-cluster.git
cd conf-valkey-cluster

安装检查脚本的依赖:

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
chmod +x ./init.sh ./start.sh ./stop.sh

不用手动激活虚拟环境,脚本会自动使用 .venv 里的 Python。

运行服务

./init.sh

默认镜像是 valkey/valkey:7.2.14-alpine,六个节点组成三主三副本的集群,使用 7100~7105 端口,数据保存在 ./data/local/。

等脚本提示初始化成功,就可以连接了。

连接测试

本机装有 redis-cli 的话:

redis-cli -c -h 127.0.0.1 -p 7100 ping
# PONG

redis-cli -h 127.0.0.1 -p 7100 cluster info

也可以直接用仓库里的 Python 脚本:

# 查看集群健康状态
.venv/bin/python redis_cluster_test.py --health

# 测试集群读写
.venv/bin/python redis_cluster_test.py

读写测试会创建临时键,结束后清理,键本身也带过期时间。

服务启停

# 停止,保留数据
./stop.sh

# 再次启动
./start.sh

查看状态和日志:

docker compose ps
docker compose logs --tail=100

日常用这几个命令就够了。需要换端口或镜像时再看仓库说明,不同版本不要直接共用已有数据目录。