《架构之路Redis系列》如何搭建Redis的主从复制

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 本文主要以实际操作为主,希望起到抛砖引玉作用,享叔一步步带你揭开了redis主从复制的神秘面纱,解决工作中所遇到的坑。

一.环境准备

1.redis-3.2.9

2.服务器三台(VMware下的unbutu)都装redis

Master:192.168.247.133

Slave1:192.168.247.134

Slave2:192.168.247.135

二.环境搭建

配置主从复制的两种方式:

(1).在redis.conf中设置slaveof,这种设置属于永久性的

slaveof <masterip> <masterport>

(2).在redis-cli客户端中设置redis服务,这种属于暂时性的,redis重启失效

slaveof <masterip> <masterport>

1.分别在134和135的redis.conf的配置文件配置为133的slave关系,如下图

备注:我这里redis安装到/opt/redis-3.2.9/redis.conf

ed9639e8c60cae5d36a8f45fe971c32cba4796b6

2.上面操作配置好后,分别启动三台机器服务端

$ ./redis-server ../redis.conf

3.然后在分别启动三台机器测试客户端程序

$ cd src
$ ./redis-cli
$ info replication

02a4dedbcdfd1497323fe8d9dec22ad762778b7a

61317951f893ec9ab2bbc43ec7d5bae3021bef78

备注:如果执行上面测试操作不是很顺利,slave服务器启动后报了类似下面错误,可以按我的解决方案尝试下

2552:S 12 Jul 06:40:47.028 * Connecting to MASTER 192.168.247.133:6379
2552:S 12 Jul 06:40:47.029 * MASTER <-> SLAVE sync started
2552:S 12 Jul 06:40:47.029 # Error condition on socket for SYNC: Connection refused

解决方案:

在三台服务器上分别修改文件redis.conf,然后并重启服务。

修改前:

bind 127.0.0.1

修改后:

bind 0.0.0.0

三.测试:

这里面我就做个简单测试吧,主机Master设置,从机Slave取值。

b4b91bdb6c1785e5b4ea69484535e4f9e92da79f

c02e14290c65c972a04e17acd70a4c9040a65d6e

四.总结:

本文主要以实际操作为主,希望起到抛砖引玉作用,享叔一步步带你揭开了redis主从复制的神秘面纱,解决工作中所遇到的坑。

个人博客原文:https://www.xiangquba.cn/2017/07/12/redis-follower-replication/

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3月前
|
监控 关系型数据库 MySQL
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
153 1
|
15天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
64 14
|
2月前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构
|
2月前
|
NoSQL Java 数据处理
基于Redis海量数据场景分布式ID架构实践
【11月更文挑战第30天】在现代分布式系统中,生成全局唯一的ID是一个常见且重要的需求。在微服务架构中,各个服务可能需要生成唯一标识符,如用户ID、订单ID等。传统的自增ID已经无法满足在集群环境下保持唯一性的要求,而分布式ID解决方案能够确保即使在多个实例间也能生成全局唯一的标识符。本文将深入探讨如何利用Redis实现分布式ID生成,并通过Java语言展示多个示例,同时分析每个实践方案的优缺点。
77 8
|
3月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
53 3
|
4月前
|
NoSQL 网络协议 Redis
Redis的主从复制和哨兵模式
本文详细介绍了Redis的主从复制配置、原理(包括全量复制和增量复制)以及如何搭建一主二从的Redis集群,同时还探讨了Redis哨兵模式的概念、配置文件、以及如何配置一主二从三哨兵的Redis哨兵模式,以实现高可用性。
|
5月前
|
消息中间件 存储 缓存
深入理解Redis集群主从复制原理
该文章主要探讨了Redis集群中的主从复制原理,包括为何需要主从复制、配置方法、复制流程以及一些高级特性。
深入理解Redis集群主从复制原理
|
6月前
|
NoSQL 算法 Java
(十三)全面理解并发编程之分布式架构下Redis、ZK分布式锁的前世今生
本文探讨了从单体架构下的锁机制到分布式架构下的线程安全问题,并详细分析了分布式锁的实现原理和过程。
124 6
|
6月前
|
NoSQL Redis
Redis 主从复制架构配置及原理
Redis 主从复制架构配置及原理
76 5
|
6月前
|
NoSQL Redis 开发工具
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决