Redis的主从架构,能帮助我们实现读多,写少的情况,下面配置Redis架构,很简单。

准备环境 vmware + rhel-server-7.0(101,102,103)+redis-3.2.0

1、在192.168.137.101安装好redis3.2.0,我安装的目录如下

2、通过ssh将redis文件夹copy到102和103的Linux

scp -rf redis/ root@192.168.137.102:/home/redis
scp -rf redis/ root@192.168.137.103:/home/redis

102,103的redis目录如下,说明copy成功

3、配置master和slave关系,有如下俩种方式

a) 在redis.conf中设置slaveof,永久性

slaveof <masterip> <masterport>

b)使用redis-cli客户端设置redis服务,暂时,redis重启失效

slaveof <masterip> <masterport>

在102和103的conf/redis.conf的配置文件配置为101的slave关系

master的密码可以直接在配置文件里面配置

默认配置文件绑定了本地ip,该配置会导致,其他ip登录被拒绝,所以会导致主从同步失败,我们把它注释掉

4、查看设置情况,使用如下命令

info replication

101的主从关系,可以看slaves的连接数还有ip地址,端口

102,103的主从关系,可以看master]的ip地址,端口

若发现配置没有问题,但是master_link_status一直是down,connected_slaves一直是0,查找下,是不是三个ip之间不能拼通,如果能拼通,查看下端口是否能拼通,可以在windows上通过telnet

telnet 192.168.137.101 

如果发现不能拼通,修改下配置文件,将

bind 127.0.0.1

注释掉,重启服务,再试试,参考下http://www.cnblogs.com/liuyansheng/p/6531034.html

5、测试是否数据同步

在master设置一个key和value

在101和102上分别get数据

说明数据同步成功,接下来把102down掉,再重启,然后get数据

说明数据恢复成功,另外也说明在主从结构中,slave不能写数据

主从复制的步骤:

1、从服务器开始链接主服务器时,会向主服务器发送一个 SYNC 命令 
2、主服务接收到命令之后,执行 BGSAVE,异步的将写命令保存到一个缓冲区里面 
3、主服务器执行完BGSAVE之后,就.rdb 文件(BOF的持久化文件)发送给从服务器,从服务器从该文件恢复数据到内存中 
4、主服务器还会以 Redis 命令协议的格式, 将写命令缓冲区中积累的所有内容都发送给从服务器,从服务器通过执行命令将数据恢复到内存中

Redis配置主从架构,实现读写分离的更多相关文章

  1. Redis系列之(二):Redis主从同步,读写分离

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  2. Redis系列之(二):Redis主从同步,读写分离(转)

    1. Redis主从同步 Redis支持主从同步.数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/订阅机制. 2. 配置主从同步 Mater Slave的模式,从Slave向Maste ...

  3. MySQL主从同步、读写分离配置步骤、问题解决笔记

    MySQL主从同步.读写分离配置步骤.问题解决笔记 根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记:       现在使用的两台服务器已经 ...

  4. MySQL架构之 主从+ProxySQL实现读写分离

    准备服务器: docker run -d --privileged -v `pwd`/mysql_data:/data -p 3001:3306 --name mysql5-master --host ...

  5. MySQL主从复制技术与读写分离技术amoeba应用

    MySQL主从复制技术与读写分离技术amoeba应用 前言:眼下在搭建一个人才站点,估计流量会非常大,须要用到分布式数据库技术,MySQL的主从复制+读写分离技术.读写分离技术有官方的MySQL-pr ...

  6. Redis+MongoDB 最佳实践 做到读写分离 -摘自网络

    方案1. (被否定) 加上Redis,做到MongoDB的读写分离,单一进程从MongoDB及时把任务同步到Redis中. 看起来很完美,但是上线后出现了各种各样的问题,列举一下: 1.Redis队列 ...

  7. C# Redis学习系列三:Redis配置主从

    Redis配置主从 主IP :端口      192.168.0.103 6666 从IP:端口       192.168.0.108 3333 配置从库 (1)安装服务: redis-server ...

  8. Redis学习笔记~Redis主从服务器,读写分离

    回到目录 Redis这个Nosql的存储系统一般会被部署到linux系统中,我们可以把它当成是一个数据服务器,对于并发理大时,我们会使用多台服务器充当Redis服务器,这时,各个Redis之间也是分布 ...

  9. MySQL主从同步、读写分离配置步骤

    现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用. 为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致; 环境:192.168.0.1 (Master) 192.168. ...

随机推荐

  1. Objective-C基础笔记(6)Block

    Block(代码段)封装了一段代码,能够在不论什么时候运行. Block能够作为函数參数或者函数返回值,而其本身又能够带输入參数或返回值.它和传统的函数指针非常相似,可是有差别:block是inlin ...

  2. Scala 基础新手教程

    1.前言 近期在參加Hadoop和Spark培训.须要使用Scala,自学了一下作为入门.这里作一个记录. 2.下载 1) 在scala官网下载.地址: http://www.scala-lang.o ...

  3. 关于C++ 命名空间Namespace 的解析

    使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突.在C++中,变量.函数和类都是大量存在的.如果没有命名空间,这些变量.函数.类的名称将都存在于全局命名空间中,会导致很多冲突.比如,如果我 ...

  4. loarocks install loadcaffe 失败

    loarocks install loadcaffe 失败 1.Error: Your user does not have write permissions in /home/zhangliang ...

  5. C++学习总结2

    链接上一篇日志,下面介绍下C++里面的其他内容 补充上一届里面的异常处理代码: try { cout << "try num" << endl; throw ...

  6. mysql存储过程之循环

    链接: http://www.blogjava.net/rain1102/archive/2011/05/16/350301.html

  7. linux系列之-—02 设置和查看环境变量

    一.Linux环境变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效. 2 临时的:使用export命令声明即可,变量在关闭shell时失效. 二 ...

  8. .net 反射访问私有变量和私有方法 如何创建C# Closure ? C# 批量生成随机密码,必须包含数字和字母,并用加密算法加密 C#中的foreach和yield 数组为什么可以使用linq查询 C#中的 具名参数 和 可选参数 显示实现接口 异步CTP(Async CTP)为什么那样工作? C#多线程基础,适合新手了解 C#加快Bitmap的访问速度 C#实现对图片文件的压

    以下为本次实践代码: using System; using System.Collections.Generic; using System.ComponentModel; using System ...

  9. javascript 高级编程系列 - 函数

    一.函数创建 1. 函数声明 (出现在全局作用域,或局部作用域) function add (a, b) { return a + b; } function add(a, b) { return a ...

  10. SDP, RTP, RTCP, RTSP, RTMP 名词解释

    读维基百科里的词条,记录的一点笔记. SDP 会话描述协议 Session Description Protocol 严格来说 SDP 不是一种协议,而是一种格式约定,用于描述流媒体的参数.如协商媒体 ...