python redis 哨兵_redis的多API支持(python为例)

tar xf Python-3.5.2.tar.xz

cd Python-3.5.2

./configure

make && make install

https://redis.io/clients

下载redis-py-master.zip

安装驱动:

unzip redis-py-master.zip

cd redis-py-master

python3 setup.py install

安装redis-cluser的客户端程序

cd redis-py-cluster-unstable

python3 setup.py install

1. 对redis的单实例进行连接操作

python3

>>>import redis

>>>r = redis.StrictRedis(host='10.0.0.200', port=6379, db=0,password='123')

>>>r.set('foo', 'bar')

True

>>>r.get('foo')

'bar'

2. sentinel集群连接并操作

[root@db01 ~]# redis-server /data/6380/redis.conf

[root@db01 ~]# redis-server /data/6381/redis.conf

[root@db01 ~]# redis-server /data/6382/redis.conf

[root@db01 ~]# redis-sentinel /data/26380/sentinel.conf &

导入redis sentinel包

>>>from redis.sentinel import Sentinel

sentinel的地址和端口号

>>> sentinel = Sentinel([('localhost', 26380)], socket_timeout=0.1)

测试,获取以下主库和从库的信息

>>> sentinel.discover_master('mymaster')

>>> sentinel.discover_slaves('mymaster')

配置读写分离

写节点

>>> master = sentinel.master_for('mymaster', socket_timeout=0.1,password="123")

读节点

>>> slave = sentinel.slave_for('mymaster', socket_timeout=0.1,password="123")

读写分离测试

>>> master.set('oldboy', '123')

>>> slave.get('oldboy')

'123'

----------------------

redis cluster的连接并操作(python2.7.2以上版本才支持redis cluster,我们选择的是3.5)

https://github.com/Grokzen/redis-py-cluster

3. python连接redis cluster集群测试

python3

>>> from rediscluster import StrictRedisCluster

>>> startup_nodes = [{"host": "127.0.0.1", "port": "7000"},{"host": "127.0.0.1", "port": "7001"},{"host": "127.0.0.1", "port": "7002"}]

### Note: decode_responses must be set to True when used with python3

>>> rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)

>>> rc.set("foo0000", "bar0000")

True

>>> print(rc.get("foo0000"))

'bar'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值