微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

006 搭建主从

 

/*
目录:
    一: 概念
    二: 查看IP
    三: 修改配置
        1 主配置
        2 从配置
    四: 数据操作
        1 ubuntu测试
        2 python测试
*/ 

 

一: 概念

1 数据统计: 网站的读写比率是10:1。
2 通过主从配置可以实现读写分离。master用来写数据,slave用来读数据。
3 1个master可以拥有多个slave,1个slave可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构。


二: 查看IP

1 查看本机IP: ifconfig;

2 获取本机IP: 192.168.0.102。


三: 修改配置
  1 主配置

目的: 修改/etc/redis/redis.conf文件

操作:
    1 打开文件: sudo vim redis.conf
    2 修改配置: bind 192.168.0.102
    
重启:
    1 sudo service redis stop
    2 sudo redis-server redis.conf

 

  2 从配置

/*
复制文件: /etc/redis/redis.conf文件   
    命令: sudo cp redis.conf ./slave.conf
  
修改文件: redis/slave.conf文件
    命令: sudo vim slave.conf  
    
修改配置:
    1 bind 192.168.0.102
    2 slaveof 192.168.0.102 6379
    3 port 6378
   
启动服务:
    命令: sudo redis-server slave.conf
    
    
查看主从关系:
    命令: redis-cli -h 192.168.0.102 info Replication
*/

 

 

四: 数据操作
  1 ubuntu测试

1 进入主客户端,可以读数据,也可以写数据。

 

1 进入从客户端,只能读数据,不能写数据。


  2 python测试

  主客户端

from redis import *


if __name__ == '__main__':
    try:
        sr = StrictRedis(host="192.168.0.102", port=6379, db=0)
        # 增加
        result = sr.set('name', 'jack')
        print("set: ", result)

        # 获取
        result = sr.get('name')
        print("get: ", result)
    except Exception as e:
        print(e)

 

set:  True
get:  b'jack'

Process finished with exit code 0

主客户端: 数据可读可写。

 

  从客户端

from redis import *


if __name__ == '__main__':
    try:
        sr = StrictRedis(host="192.168.0.102", port=6378, db=0)
        # 获取
        result = sr.get('name')
        print("get: ", result)
        
        # 增加
        result = sr.set('name', 'jack')
        print("set: ", result)

    except Exception as e:
        print(e)

 

get:  b'jack'
You can't write against a read only slave.

Process finished with exit code 0

从客户端: 数据可读不可写。

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐