Redis提供了各类开发语言的API,方便开发语言连接使用Redis。
https://redis.io/clients
官方网站提供了不同开发语言的API程序。
网中,给我们提供了很多种Python连接redis的API,我们通常选择有“笑脸”并且带有“星号”的使用
这里我们推荐使用redis-py.
redis的多API支持
python为例
一、准备工作
安装python
tar xf Python-3.5.2.tar.xz
cd Python-3.5.2
./configure
make && make install
2、下载redis-py-master.zip,并导入插件
unzip redis-py-master.zip
cd redis-py-master
python3 setup.py install
3、安装redis-cluser的客户端程序
cd redis-py-cluster-unstable
python3 setup.py install
二、对redis的单实例进行连接操作
python3
>>>import redis
>>>r = redis.StrictRedis(host='10.0.0.11', port=6379, db=0,password='123456')
>>>r.set('lufei', 'guojialei')
True
>>>r.get('lufei')
'bar'
三、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)
#读节点
>>> slave = sentinel.slave_for('mymaster', socket_timeout=0.1)
###读写分离测试 key
>>> master.set('oldboy', '123')
>>> slave.get('oldboy')
'123'
四、python连接rediscluster集群测试
redis cluster的连接并操作(python2.7.2以上版本才支持redis cluster,我们选择的是3.5)
https://github.com/Grokzen/redis-py-cluster
python3
>>> from rediscluster import StrictRedisCluster
>>> startup_nodes = [{"host": "127.0.0.1", "port": "7000"}]
### Note: decode_responses must be set to True when used with python3
>>> rc = StrictRedisCluster(startup_nodes=startup_nodes, decode_responses=True)
>>> rc.set("foo", "bar")
True
>>>
'bar'
>>> print(rc.get("foo"))
bar
redis for Python 插件连接
链接:https://pan.baidu.com/s/1VMXWYz8lQpr2Kv0qBiYznA
提取码:jdnk