zoukankan      html  css  js  c++  java
  • Redis配置主从架构,实现读写分离

    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 6379

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

    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 命令协议的格式, 将写命令缓冲区中积累的所有内容都发送给从服务器,从服务器通过执行命令将数据恢复到内存中

  • 相关阅读:
    织梦开发——相关阅读likeart应用
    织梦标签教程
    织梦专题调用代码
    HIT 2543 Stone IV
    POJ 3680 Intervals
    HIT 2739 The Chinese Postman Problem
    POJ 1273 Drainage Ditches
    POJ 2455 Secret Milking Machine
    SPOJ 371 Boxes
    HIT 2715 Matrix3
  • 原文地址:https://www.cnblogs.com/liuyansheng/p/6530975.html
Copyright © 2011-2022 走看看