redis的部署方式
一、几种部署方式的介绍
redis 有4种部署方式:单机,主从,哨兵,集群
1、单机
优点:部署方便,可用于本地开发,或对数据要求不高的,开发环境等
缺点:
- 不能保证数据的可靠性
- 性能瓶颈
2、主从
2.1 master-slave 的方式
一台master, 多台slave, master 负责读写和向slave同步数据,slave负责只读和同步master的数据(所以它的同步机制怎样实现的?主从是怎样同步的)
主从关系:一主多从,但不能一从多主。
2.2 同步机制
要解决回答的问题包括:
-
- 主从怎样实现同步呢:见2.2.1
- 怎样确定主从:见2.2.1
- 同步包括全量同步,增量同步,同步的触发机制(master 或 slave 知道什么时候要去进行同步?)
- 如果master挂了会怎么办 见2.2.3
- master 挂掉后,怎样恢复 见2.2.4
- 有多个slave要同步,会不会影响master的写性能?: 会的,所以这也是主从的一个缺点之一
- 主从和集群可以一起部署吗,多个master当成一个master:
- 向slave进行写操作,会怎样:不能写
- 复制和同步会比较影响Master 的性能,可以怎样做:设为为主-从-从模式。或树状模式。
2.2.1 如何进行第一次同步,怎样建立主从关系
- 先按单机部署几台,然后,在slave机子,执行,replicaof ip:port 进行确定主从关系,之后确定主从关系后,就开始进行全量同步和后面的长连接,增量同步。
- 比如现在有3台机子 ,192.168.1.100, 192.168.1.101, 192.168.1.102 其中想把 192.168.1.100 做 master, 另外两台机子做 slave,那么
- 首先,把3台机子,都单独部署,启动,这个时候,他们相互没有关系,
- 进入随便一台机子(要进行主从,这三台机子必须是同个网段,相互可以联通), bin/redis-cli -h 192.168.1.101 -p 6379 连接到 101 的redis
- 然后执行: REPLICAOF 192.168.1.100 6379 (这个时候,101 就变成了 100 的slave,创建连接的首次,会进行全量同步)
- 对于 102 的机子,同理,使用redis-cli 连接到102,然后使用指令:REPLICAOF 192.168.1.100 6379 也可以创建102 与 100 的 关联。
2.2.2
2.2.3 master 挂掉后会怎样
如果Master 宕机后,就需要人工介入,进行错误转移,重新指定Master,把从变主。
2.2.4 master 挂掉后,怎样恢复
master 挂掉之后,slave 是不能写的,要重新指定master才行。
先脱离slave1之前与master 的关系:REPLICAOF NO ONE
这个时候,slave1 是可以重新写数据了,然后再把slave2关联到新的master(即slave1)
这个时候,就变成一主一从了。
3、哨兵
哨兵模式是在主从的基础上做的一种加强模式,主从有一个致命的缺陷:当master宕掉之后,需要人为介入去处理。哨兵模式就是针对这个缺陷做的加强,当master宕掉之后,会自动从各个slave中选出新的master,从中不需要人为介入。保证了相对的健壮性。但原来主从的性能缺点是没有得到优化的。
3.1 一些概念
哨兵:
- 是一种redis的“特殊”节点,不存储数据。我现在是一个节点对就一个哨兵,有多少个节点,就放多少个哨兵。
- 哨兵,默认端口是26379, 所以它也是要起一个进程的,这个哨兵进程是用于监测,心跳检测,选举等用途。有点像,emmm,加个保护。
节点:master 和 slave 都可以叫节点。
3.2 哨兵配置
1、哨兵配置文件:sentinel.conf, 几个重要的参数
- protected-mode no: 保护模式关闭一下
- port 26379: 这个是哨兵进程的端口,默认26379
- sentinel monitor mymaster 127.0.0.1 6379 2 表示哨兵监听的master是本机端口6379的进程,并且要至少超过2个从节点认为master 挂了,才能开始新的选举
- sentinel down-after-milliseconds mymaster 10000 超过10000ms, master节点没反应,才认为master 是挂了
3.3 哨兵配置启动
按主从方式启动好 master 和几个 slave后,
再执行:
3.4 哨兵总结
加强型的主从。添加了监控的主从模式。配置起来反而会比较麻烦。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南