# docker_group **Repository Path**: istop/docker_group ## Basic Information - **Project Name**: docker_group - **Description**: 用来创建docker示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-14 - **Last Updated**: 2026-06-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Redis 集群项目 本项目提供基于 Docker 的 Redis 集群部署方案,以及 Python 客户端连接示例。 ## 项目简介 这是一个 Redis 集群项目,包含: - Docker Compose 方式部署 Redis 集群 - Python Redis 客户端工具类 - 分布式锁实现 - 消息队列操作示例 - 多种 Redis 数据操作演示 - 使用了infiniflow 工作室的ragflow ,更换单节点为 集群模式,并更新redis_conn.py 为redis_conn_cluster.py ## 目录结构 ``` redis_group/ ├── cluster/ # Redis 集群配置 │ ├── config/ # Redis 配置文件 (7000-7005 端口) │ ├── docker-compose.yaml # Docker Compose 配置 │ ├── start-cluster.ps1 # 启动集群脚本 │ ├── stop-cluster.ps1 # 停止集群脚本 │ ├── gen-config.ps1 # 配置生成脚本 │ └── redis_conn_cluster_s1.py # Python Redis 客户端 ├── cluster-linux/ # Linux 版集群配置 │ ├── docker-compose.yaml │ ├── gen-config.sh │ ├── start-cluster.sh │ └── config/ └── cluster/test_redis_demo.py # Redis 操作演示 ``` ## 快速开始 ### 1. 启动 Redis 集群 **Windows:** ```powershell .\redis_group\cluster\start-cluster.ps1 ``` **Linux:** ```bash cd redis_group/cluster-linux chmod +x start-cluster.sh ./start-cluster.sh ``` ### 2. 停止集群 ```powershell .\redis_group\cluster\stop-cluster.ps1 ``` ## Python 使用示例 ### 连接 Redis ```python from redis_conn_cluster_s1 import RedisDB # 初始化连接 redis_db = RedisDB() ``` ### 基本操作 ```python # 字符串操作 redis_db.set("key", "value") value = redis_db.get("key") # 集合操作 redis_db.sadd("myset", "member1", "member2") members = redis_db.smembers("myset") # 有序集合 redis_db.zadd("myzset", {"score1": 1, "score2": 2}) ``` ### 分布式锁 ```python from redis_conn_cluster_s1 import RedisDistributedLock lock = RedisDistributedLock("lock_key", lock_value="unique_id") if lock.acquire(): try: # 临界区代码 pass finally: lock.release() ``` ### 消息队列 ```python from redis_conn_cluster_s1 import RedisMsg # 消费消息 msg = RedisMsg(consumer="consumer1", queue_name="myqueue", group_name="mygroup", msg_id="*", message=None) message = msg.get_message() msg.ack() # 确认处理 ``` ### 运行演示 ```python from test_redis_demo import * demo_string_ops() demo_set_ops() demo_distributed_lock() ``` ## 配置说明 ### 集群端口配置 | 节点 | 端口 | |------|------| | Redis 1 | 7000 | | Redis 2 | 7001 | | Redis 3 | 7002 | | Redis 4 | 7003 | | Redis 5 | 7004 | | Redis 6 | 7005 | ### 环境变量 - `HOST_IP`: 设置 Redis 集群主机 IP 地址 ## 依赖 - Python 3.10+ - redis-py >= 4.0 - Docker & Docker Compose ## License 请参考项目中的 LICENSE 文件。