Redis-py客户端连接Redis(Python)
本章节介绍使用Python Redis客户端redis-py连接Redis实例的方法。更多的客户端的使用方法请参考Redis客户端。
以下操作以通过弹性云服务器上的客户端连接Redis实例为例进行说明。
连接单机、主备、Proxy集群实例建议使用redis-py,Cluster集群实例建议使用redis-py-cluster。
前提条件
- 已成功创建Redis实例,且状态为“运行中”。创建Redis实例的操作请参考购买Redis实例。
- 已创建弹性云服务器,创建弹性云服务器的方法,请参见购买弹性云服务器。
- 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装Python编译环境。
- 连接实例前确保客户端与Redis实例之间网络互通,具体请参考连接Redis网络要求。
Redis-py客户端连接Redis
- 查看并获取待连接Redis实例的IP地址/域名和端口。
具体步骤请参见查看和修改DCS实例基本信息。
- 登录弹性云服务器。
本章节以弹性云服务器操作系统为centos为例介绍通过Python Redis客户端连接实例。
- 连接Redis实例。
如果弹性云服务器操作系统没有自带Python,可以使用yum方式安装。
yum install python
要求系统Python版本为3.6+,当默认Python版本小于3.6时,可通过以下操作修改Python默认版本。
- 删除Python软链接文件: rm -rf python
- 重新创建新指向Python:ln -s pythonX.X.X python,其中X为Python具体版本号。
- 连接单机、主备、proxy集群实例。
- 安装Python和Python Redis客户端redis-py。
- 如果系统没有自带Python,可以使用yum方式安装。
- 下载并解压redis-py。
wget https://github.com/andymccurdy/redis-py/archive/master.zip unzip master.zip
- 进入到解压目录后安装Python Redis客户端redis-py。
python setup.py install
安装后执行python命令,返回如下信息说明成功安装redis-py:
图1 执行python
- 使用redis-py客户端连接实例。以下步骤以命令行模式进行示例(也可以将命令写入python脚本中再执行):
- 执行python命令,进入命令行模式。返回如下信息说明已进入命令行模式:
图2 进入命令行模式
- 在命令行中执行以下命令,连接Redis实例。
r = redis.StrictRedis(host='XXX.XXX.XXX.XXX', port=6379, password='******');
其中,XXX.XXX.XXX.XXX为Redis实例的IP地址/域名,“6379”为Redis实例的端口。IP地址/域名和端口获取见1,请按实际情况修改后执行。******为创建Redis实例时自定义的密码,请按实际情况修改后执行。
界面显示一行新的命令行,说明连接Redis实例成功。可以输入命令对数据库进行读写操作。
图3 连接redis成功
- 执行python命令,进入命令行模式。返回如下信息说明已进入命令行模式:
- 安装Python和Python Redis客户端redis-py。
- 连接Cluster集群实例。
- 安装redis-py-cluster客户端。
- 执行以下命令下载released版本。
wget https://github.com/Grokzen/redis-py-cluster/releases/download/2.1.3/redis-py-cluster-2.1.3.tar.gz
- 解压压缩包。
tar -xvf redis-py-cluster-2.1.3.tar.gz
- 进入到解压目录后安装Python Redis客户端redis-py-cluster。
python setup.py install
- 执行以下命令下载released版本。
- 使用redis-py-cluster客户端连接Redis实例。
以下步骤以命令行模式进行示例(也可以将命令写入python脚本中再执行):
- 执行python命令,进入命令行模式。
- 在命令行中执行以下命令,连接Redis实例。如果实例为免密访问,则省略命令中的, password='******'
>>> from rediscluster import RedisCluster >>> startup_nodes = [{"host": "192.168.0.143", "port": "6379"},{"host": "192.168.0.144", "port": "6379"},{"host": "192.168.0.145", "port": "6379"},{"host": "192.168.0.146", "port": "6379"}] >>> rc = RedisCluster(startup_nodes=startup_nodes, decode_responses=True, password='******') >>> rc.set("foo", "bar") True >>> print(rc.get("foo")) 'bar'
- 安装redis-py-cluster客户端。