一文讲解Redis常见使用方式

1. 单机模式部署

适用场景:

• 开发和测试环境,或者对高可用性要求不高的小型项目。

部署步骤:

1. 拉取 Redis 镜像

docker pull redis:latest

2. 运行 Redis 容器

docker run -d --name redis-single -p 6379:6379 redis:latest

3. 配置持久化(可选)

如果需要持久化,将宿主机目录挂载到容器:

docker run -d --name redis-single \
-p 6379:6379 \
-v /path/to/data:/data \
redis:latest --save 60 1 --loglevel warning

--save 60 1:每 60 秒内如果有 1 次写操作就触发保存。

• 日志级别可调为 debug、verbose、notice、warning。

2. 主从模式部署

适用场景:

• 提高读性能(读写分离)和容灾能力的小型应用。

部署步骤:

1. 启动主节点

docker run -d --name redis-master -p 6379:6379 redis:latest

2. 启动从节点

启动从节点时指定主节点的 IP 地址和端口:

docker run -d --name redis-slave1 \
-p 6380:6379 \
redis:latest redis-server --replicaof <master-ip> 6379

3. 验证主从关系

• 登录从节点容器:

docker exec -it redis-slave1 redis-cli

• 检查主从状态:

info replication

3. 哨兵模式部署

适用场景:

• 实现高可用 Redis 部署,自动完成主从切换。

部署步骤:

1. 启动主从节点

按照主从模式启动主节点和从节点。

2. 启动哨兵节点

• 创建哨兵配置文件(sentinel.conf):

sentinel monitor mymaster <master-ip> 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 10000
sentinel parallel-syncs mymaster 1

• 启动哨兵容器:

docker run -d --name redis-sentinel1 \
-v /path/to/sentinel.conf:/etc/redis/sentinel.conf \
redis:latest redis-sentinel /etc/redis/sentinel.conf

3. 添加多个哨兵(建议部署至少 3 个哨兵):

使用相同配置启动其他哨兵节点。

4. 验证高可用性

停止主节点并观察哨兵的切换行为:

docker stop redis-master
docker logs redis-sentinel1

4. 集群模式部署

适用场景:

• 适合大规模分布式场景,支持高并发和海量数据存储。

部署步骤:

1. 启动 6 个 Redis 节点(3 主 3 从):

使用不同端口运行多个 Redis 实例:

docker run -d --name redis-node1 -p 7001:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -d --name redis-node2 -p 7002:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -d --name redis-node3 -p 7003:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -d --name redis-node4 -p 7004:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -d --name redis-node5 -p 7005:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes
docker run -d --name redis-node6 -p 7006:6379 redis:latest --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes

2. 创建集群

使用 redis-cli 创建集群:

docker exec -it redis-node1 redis-cli --cluster create <node1-ip>:7001 <node2-ip>:7002 <node3-ip>:7003 <node4-ip>:7004 <node5-ip>:7005 <node6-ip>:7006 --cluster-replicas 1

3. 验证集群状态

redis-cli -c -p 7001 cluster info

总结

单机模式:开发测试环境,快速部署。

主从模式:简单的读写分离。

哨兵模式:中小型高可用场景。

集群模式:适合大规模高并发场景。

GO语言中采用go-redis库进行连接,包含单机连接、哨兵、集群模式

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值