006 搭建主从

 

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

 

一: 概念

1 数据统计: 网站的读写比率是10:12 通过主从配置可以实现读写分离。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

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

 

 

posted @ 2022-07-21 22:23  火焰马  阅读(28)  评论(0编辑  收藏  举报