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集群连接并操作

redis-sentinel集群: https://www.jianshu.com/p/a6540539eaa8

[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集群测试

redis-cluster集群: https://www.jianshu.com/p/e3e5fba594ed

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'

你可能感兴趣的:(Redis的多API支持(python为例))