10.主从模式

本文介绍了Redis的主从模式,包括其优势、如何通过配置文件设置主从服务器以及如何使用命令实现主从模式。主从模式能有效提高Redis的查询效率,并通过读写分离减轻主服务器的压力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis的主从模式

(1)介绍

redis存储数据是在内存中运行的,运行速度比关系型数据库要快一些。而且它具有SortSet/Hash
等具有特色的数据类型,这是其它数据库无法比拟的。

redis有增删改查四种操作,和一般的数据库差不多。
什么操作最耗费数据库资源?是查询。查询中的子查询、多表查询,条件中的Group by、order by,
以及limit等操作都会消耗不少的数据库资源。

提升数据库效率,在资金充足的情况下,我们可以通过提升硬件设施来完成:
购置多个服务器,每个服务器执行不同的数据操作,查询类操作消耗资源,可以分给好多个数据库来操作,叫做“读写分离技术”。

添加、修改、删除都叫“数据写入”,主服务器可以作为“写入”服务器,而从服务器可以作为
“读取”服务器。主服务器和从服务器要通过一些技术自动来同步。这叫“主从模式”。

(2)创建基于redis的主从模式

我们也可以给reids构建一个“主从模式”。在多台服务器上安装Redis,然后主服务器负责写入
操作,从服务器进行读取操作。主从服务器是可以自动备份的:


(主服务器是master,从服务器是slave)

我们打开redis.conf,在下面可以设置此redis所在的服务器是哪一台主服务器的从服务器:

或者是成为哪些redis服务器的主服务器:

设置样例:
设置本机为在ip为192.168.39.159下的某台redis主服务器的从服务器


其实从服务器的读写权限是可以配置的,配置位置如下:

注意,修改完redis配置文件之后,要杀死现有的redis进程,重启redis服务,就可以看到

其它服务器的数据。

(3)动手实践

我们使用redis来实现主从模式。

首先在VMware虚拟机中的Linux中打开两个终端,一个是用户jack,一个是newuser:

然后我们jack作为主机,redis服务运行在6379端口,我们设置newuser为从机,设置其redis
运行在6380端口,然后让其使用slaveof命令从属于jack的主机:


注意:我们客户端登录的时候,使用的配置文件分别是redis.conf和redis6380.conf。
其中redis6380.conf的内容和redis.conf一样,只有port端口号的设置不同:

可以看一下两个终端的信息,发现他们都是互相独立的,不是任何一个的从机(即两个都是独立的主机):

用指令实现主从模式的方法:

转载请注明出处:http://blog.youkuaiyun.com/acmman/article/details/53434134

转载于:https://www.cnblogs.com/kdy11/p/8892930.html

### 主从数据库同步失败解决方案 主从数据库同步失败通常由多种原因引起,包括网络延迟、硬件故障、配置错误以及数据传输过程中的异常。以下是针对该问题的一些常见解决方案: #### 1. **检查网络连接** 确保主服务器和从服务器之间的网络连接正常。如果存在高延迟或丢包现象,则可能导致同步中断[^1]。 #### 2. **验证日志文件** 通过分析主库的日志文件(如 MySQL 的 binlog 文件),可以定位到具体的同步断点位置。这有助于快速恢复丢失的数据记录[^2]。 #### 3. **调整复制参数** 对于某些特定场景下的性能瓶颈或者冲突情况,适当修改MySQL/MariaDB等系统的全局变量设置可能有所帮助。例如增加`slave_net_timeout`值来延长等待时间以应对短暂性的通信障碍[^3]。 #### 4. **重新初始化从库** 当发现大量数据差异无法简单修复时,考虑完全重置并重建整个副本链路可能是最彻底的办法之一。此操作涉及导出源端最新状态快照再导入目标节点上完成初始加载工作流程[^4]。 #### 5. **实施半同步机制** 采用更高级别的协议比如Semi-Synchronous Replication能够有效减少因异步模式下产生的潜在风险隐患,在一定程度范围内保障事务提交前后两端之间的一致性水平达到预期标准之上[^5]。 ```sql -- 启用半同步插件命令示例 (适用于MySQL) INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so'; SET GLOBAL rpl_semi_sync_master_enabled = 1; ``` #### 6. **定期监控与维护** 建立自动化脚本用于持续跟踪各项指标变化趋势,并及时响应任何偏离常规阈值范围之外的行为表现;同时也要记得安排周期性的手动审查环节作为补充手段加以巩固效果[^6]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值