更新时间:2024-10-30 GMT+08:00

通过Python连接实例

本章节主要介绍使用Python访问GeminiDB Redis实例的方法。

前提条件

  • 已成功创建GeminiDB Redis实例,且实例状态为“正常”。
  • 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器快速入门》中“购买弹性云服务器”章节。
  • 弹性云服务器上已经安装GCC等编译工具。
  • 创建的弹性云服务器GeminiDB Redis实例要保证区域、可用区、VPC和安全组一致。

操作步骤

  1. 获取GeminiDB Redis实例的负载均衡地址和端口。

  2. 登录弹性云服务器,具体操作请参见《弹性云服务器快速入门》中“登录弹性云服务器”。
  3. 安装Python和Redis的Python客户端Redis-py。

    1. 如果系统没有自带Python,可以使用yum方式安装。

      yum install python

    2. 下载并解压redis-py。

      wget https://github.com/andymccurdy/redis-py/archive/master.zip

    3. 进入到解压目录后安装Redis的Python客户端Redis-py。

      python setup.py install

    4. 安装后执行python命令,返回如下信息说明成功安装Redis-py:
      Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
      [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>> import redis
      >>> 

  4. 使用Redis-py客户端连接GeminiDB Redis实例。

    以下步骤以命令行模式进行示例(也可以将命令写入python脚本中再执行):

    • 使用单机方式连接GeminiDB Redis集群
      1. 执行python命令,进入命令行模式。
        返回如下信息说明已进入命令行模式:
        Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
        [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import redis
        >>> 
      2. 在命令行中执行以下命令,确认结果正常。
        >>> r = redis.StrictRedis(host='192.xx.xx.xx', port=8635, password='pwd');
        >>> r.set('key', 'Python tst ok!')
        True
        >>> r.get('key')
        'Python tst ok!'

        如下信息请按照实际值进行修改后,再执行上述命令。

        • host和port为1中获取到的GeminiDB Redis实例的负载均衡地址和端口。
        • password为GeminiDB Redis实例的密码。
    • 使用集群方式连接GeminiDB Redis集群
      使用前需要设置:config set CompatibleMode ClusterClient
      Python 3.7.4 (default, Jan 30 2021, 09:00:44) 
      [GCC 7.3.0] on linux
      Type "help", "copyright", "credits" or "license" for more information.
      >>> from redis.cluster import RedisCluster as Redis
      >>> rc = Redis(host='127.0.0.1', port=6379, password='a')
      >>> rc.set('key', 'Python test ok!')
      True
      >>> rc.get('key')
      b'Python test ok!'