redis sentinel

root@leco:~/code/redis# cat sentinel.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author: summer

from redis.sentinel import Sentinel

# 连接哨兵服务器(主机名也可以用域名)
sentinel = Sentinel([('127.0.0.1', 26379),
                     ('127.0.0.1', 26380),
                     ('127.0.0.1', 26381)],
                    socket_timeout=0.5)

# 获取主服务器地址
master = sentinel.discover_master('mymaster')
print("当前master = ", master)

# 获取从服务器地址
slave = sentinel.discover_slaves('mymaster')
print("当前slave = ", slave)


# 获取主服务器进行写入
master = sentinel.master_for('mymaster')
master.set('name','summer')



# 获取从服务器进行读取(默认是round-roubin)
#slave = sentinel.slave_for('mymaster', password='redis_auth_pass')
slave = sentinel.slave_for('mymaster')
data = slave.get('name')
print(data)

运行结果

root@leco:~/code/redis# python sentinel.py
当前master =  ('127.0.0.1', 6379)
当前slave =  [('127.0.0.1', 10380), ('127.0.0.1', 10381)]
b'cmz'