redis-py对sentinel的支持

本文介绍如何使用redis-py库中的RedisSentinel功能进行主从节点的发现与连接。通过示例代码展示了如何获取主节点和从节点信息,并进行读写操作。需要注意的是,在多主机环境下,配置需指定正确的IP地址。

redis-py同样支持Redis Sentinel,方法如下:

from redis.sentinel import Sentinel
sentinel = Sentinel([('localhost', 26379)], socket_timeout=0.1)
print 'master:',sentinel.discover_master('mymaster')
print 'slaves:',sentinel.discover_slaves('mymaster')
下面是打印结果:
maters: ('127.0.0.1', 6379)
slaves: [('127.0.0.1', 6380)]

使用Redis Sentinel连接采用如下方法:

master = sentinel.master_for('mymaster', socket_timeout=0.1)
slave = sentinel.slave_for('mymaster', socket_timeout=0.1)
master.set('foo', 'bar')
print slave.get('foo')
下面是打印结果:
'bar'

说明:

在实际应用中,以上测试局限于redis客户端,redis服务器和redis sentinel均部署在同一个主机上的情况

如果采用多台主机,那么redis server中的slaveof和sentinel中的monitor均需指定ip地址,不能用127.0.0.1

否则,会连接超时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值