当前位置: 首页 > article >正文

一文讲解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库进行连接,包含单机连接、哨兵、集群模式


http://www.kler.cn/a/513908.html

相关文章:

  • RTMP|RTSP播放器只解码视频关键帧功能探讨
  • maven 微服务项目多 包版本问题
  • C++《AVL树》
  • 审计文件标识作为水印打印在pdf页面边角
  • BH1750使用程序
  • 网络编程 | UDP组播通信
  • 高校宿舍信息|基于Spring Boot的高校宿舍信息管理系统的设计与实现(源码+数据库+文档)
  • Httprunner接口测试框架入门
  • 微信小程序使用上拉加载onReachBottom。页面拖不动。一直无法触发上拉的事件。
  • SQL-leetcode—1148. 文章浏览 I
  • tensorflow源码编译在C++环境使用
  • pycharm+pyside6+desinger实现查询汉字笔顺GIF动图
  • Golang Gin系列-5:数据模型和数据库
  • leetcode 407. 接雨水 II
  • 黑马点评之导入数据库
  • CES Asia 2025优惠期即将截止,独特模式助力科技盛会
  • 2025-1-21 Newstar CTF web week1 wp
  • 14-美妆数据分析
  • Java设计模式 十四 行为型模式 (Behavioral Patterns)
  • 【Spring】定义的Bean缺少隐式依赖
  • 解决npm install安装出现packages are looking for funding run `npm fund` for details问题
  • Spring中的事件和事件监听器是如何工作的?
  • GAN 用于图像增强
  • HTML新春烟花
  • 【25考研】考清华的软件工程专业的研究生需要准备什么?
  • 论文速读| A Survey on Data Synthesis and Augmentation for Large Language Models