redis-sentinel-demoQWERKael1 2 3 4 5 6 7 8
| from redis.sentinel import Sentinel // 导入sentinel包 sentinel = Sentinel([('10.60.0.16',6388)],socket_timeout=0.1) // 获取sentinel的链接 sentinel.discover_master('sentinel-10.60.0.16-6386') // 获取master地址 sentinel.discover_slaves('sentinel-10.60.0.16-6386') // 获取slave地址 master = sentinel.master_for('sentinel-10.60.0.16-6386',socket_timeout=0.1) //获取master的连接 slave = sentinel.slave_for('sentinel-10.60.0.16-6386',socket_timeout=0.1) // 获取slave的连接 master.set('name','alex') // 向master插入一个值 slave.get('name') // 从slave获取该值
|
进入master
实例,使用shutdown
命令关闭master
实例,再次使用master.get('name')
命令从master
实例取值,python报错Connection refused
,可见由于master
宕机,导致连接断开。
过了几秒后再次执行master.get('name')
命令,命令正常返回值,sentinel已经进行了failover处理,并且master
连接重新连接到了新的master
实例