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. mysql的安装、C++訪问mysql数据库、编码设置问题

    一.mysql的安装.这个相对简单,直接去官网下载mysql安装程序.就能够完毕安装过程,网上有非常多安装教程,这个没什么注意事项. 二.C++訪问mysql.主要是用到mysql定义的头文件,内部定 ...

  2. Swift中的switch 和 do while

    switch后面的()能够省略 OC中的switch假设没有break就会穿透(依次运行),在Swift中不会穿透(可理解默认就有break) OC中入股要在case中定义变量,必要要加上{}确定作用 ...

  3. java gc小结

    java的内存结构: 1. 堆: java所有通过new新建的对象都是在堆上进行分配的; 根据不同的垃圾回收算法, 堆的结构也不相同, 如果采用的是分代垃圾回收, 那么堆就分为年轻代和年老代两部分. ...

  4. linux 块设备驱动(四)——简单的sbull实例

    #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/init.h> # ...

  5. Mvc之Ajax上传图片

    MyAjaxForm下载地址,点击此处下载 视图部分: @{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Lay ...

  6. OSEck中odo_vect2pcb的作用

    在基于OSEck RTOS的TI DSP中,中断能够作为一个进程存在,在OSEck系统中,进程分为两类:优先级进程,中断进程. 当可屏蔽中断(INT4~15)发生后,就会运行相应的中断vector,在 ...

  7. EasyDarwin Streaming Server对Task的调用方法

    我们在EasyDarwin流媒体服务器的二次开发过程中,经常会需要定义自己的Task类,例如在EasyDarwin中,RTSPSessioin.HTTPSession.RTCPTask等,都是Task ...

  8. FormsAuthentication 在asp.net MVC中的应用

    说明:开发环境 vs2012 asp.net mvc4 c# 项目结构: 1.开发步骤 1.1 创建项目 打开vs2012 开发环境 “文件”--“新建”--“项目” 选择asp.net mvc项目类 ...

  9. splittability A SequenceFile can be split by Hadoop and distributed across map jobs whereas a GZIP file cannot be.

    splittability CompressedStorage     Skip to end of metadata   Created by Confluence Administrator, l ...

  10. 一起来学linux:FTP服务器搭建

    首先安装vsftpd: apt install vsftpd有下面几个重要的配置文件:1 /etc/vsftpd.conf. 这个是vsftpd的配置文件.通过“参数=设置值”的方式来设置的. 2 / ...