database's docs

redis: 1.1.2 redis-py(sentinel)获取master信息


0. python程序之前

redis的sentinel解决了redis replication的failover问题,但是并没有解决高可用的问题。为了解决高可用的问题,有很多思路可以采用,例如加入keepalive等技术,而本文会从redis的python api出发来尝试找到一个解决方案。

主要使用到了redis-py


1. redis-py

1) python环境准备

  1. 安装python,可参照python-2.7安装
  2. 安装对应版本的pip,可参照pip安装
  3. 安装redis-py包
    pip install redis-py
    

2) 获取redis replication的master节点信息

from redis.sentinel import Sentinel
sentinel = Sentinel([('192.168.33.41', 26379)], socket_timeout=0.1)
master = sentinel.discover_master('mymaster')

更多详细用法可以参照redis-py文档