文档

步骤3:连接Redis实例

更新时间:

云数据库Redis版提供多种类型的连接地址,支持在专有网络(VPC)或公网(Internet)环境下,通过DMS、redis-cli或不同程序客户端等多种方式连接至Redis实例。

连接场景介绍

云数据库Redis版默认支持通过 专有网络(VPC) 访问Redis实例,若需要在本地设备或其他仅公网条件下的设备连接时,可以申请Redis实例的公网连接地址,并通过公网访问Redis实例。

  • ECS实例(与Redis实例为同一VPC):推荐通过专有网络连接Redis实例,连接时,需连接Redis实例的专有网络连接地址,可获得更高的安全性和更低的网络延迟。

  • 本地设备、与Redis实例跨地域的ECS实例(与Redis实例为不同VPC):可通过公网连接Redis实例,连接时,需连接Redis实例的公网连接地址,否则会导致连接失败。

Tair连接场景图

前提条件

  • 已将客户端的IP地址添加至Redis实例的白名单中。

    通过专有网络或公网访问Redis实例,均需要先将客户端的IP地址或IP地址段添加到Redis实例的白名单中,才允许访问Redis实例,详情请参见设置白名单

  • 已设置Redis实例的账户密码,用于登录Redis实例。

    您可以通过Redis实例默认账号、新建账号等方式访问Redis实例,详情请参见Redis实例登录方式

操作步骤

本示例介绍如何在与Redis实例为同一专有网络(VPC)的ECS实例(Linux)上通过redis-cli访问Redis实例。

  1. 登录ECS实例,下载、安装redis-cli。

    1. 执行下述命令,安装gcc依赖环境。

      sudo yum -y install gcc
    2. 执行下述命令下载Redis源码文件。

      wget https://download.redis.io/releases/redis-7.0.0.tar.gz
      说明

      本文以redis-7.0.0版本为例演示操作流程,您也可以安装其他版本。具体操作,请参见Redis官网

    3. 执行下述命令解压Redis源码文件。

      tar xzf redis-7.0.0.tar.gz
    4. 执行下述命令进入解压后的目录并编译安装Redis源码文件。

      cd redis-7.0.0&&make

      编译安装需要一段时间(通常为2分钟~3分钟)。

    5. 执行下述命令进入src目录,准备连接实例。

      cd src
  2. 获取连接信息,并在命令行窗口执行下述命令连接Redis实例。

    ./redis-cli -h hostname -p port [-c]
    表 1. 参数说明

    参数

    说明

    获取方式

    hostname

    Redis实例的连接地址

    • 通过专有网络连接:需获取Redis实例的专有网络连接地址。

    • 通过公网连接:需获取Redis实例的公网连接地址。

    具体操作,请参见查看连接地址

    port

    Redis实例的端口号

    端口号,默认为6379。

    -c

    启用集群模式

    该模式仅当Redis实例为集群架构,且使用开通直连访问连接时可用。

    连接示例:

    • 默认地址(适用于通过默认地址连接的场景,例如标准架构实例的连接地址或集群架构实例的代理地址)。

      ./redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379
    • 集群架构直连地址(适用于集群架构通过直连地址连接的场景)。

      ./redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379 -c
  3. 执行下述命令完成密码验证。

    AUTH password
    表 2. 参数说明

    参数

    说明

    password

    填写账号、密码:

    • 使用默认账号(以实例ID命名的账号):直接填写密码即可。例如实例默认账号为r-bp1zxszhcgatnx****,自定义密码为Password21,密码验证命令为AUTH Password21

    • 使用新创建的账号:密码格式为user:password。例如自定义账号为testaccount,密码为Rp829dlwa,密码验证命令为AUTH testaccount:Rp829dlwa

    说明
    • 如果忘记或未设置密码,您可以重置密码。具体操作,请参见修改或重置密码

    • 如果通过第三方数据库管理工具(例如RDM等)连接Redis实例,请在密码框中输入user:password进行连接,请不要在用户名框中输入任何信息,否则会导致连接失败。

    • 如果实例已开启专有网络免密访问,通过专有网络连接Redis实例时无需执行本步骤即可执行Redis命令。

    示例:

    AUTH testaccount:Rp829dlwa

    显示OK表示已成功连接Redis实例,可执行Redis命令。

其他常用连接方式

客户端

推荐连接网络类型

说明

DMS

专有网络

通过DMS登录Redis

Redis实例同VPC的ECS实例

专有网络

  • Redis实例跨地域的ECS实例

  • 本地设备

公网

特殊连接方式

  • 客户端程序TLS(SSL)加密连接Redis:启用TSL加密功能提高数据链路的安全性,保障数据的完整性。

  • 使用直连地址访问Redis实例Redis集群架构实例可申请直连地址,通过该地址可直接访问后端的数据分片(类似连接原生Redis集群)。相比 代理模式 ,直连模式节约了通过代理处理请求的时间,可以在一定程度上提高Redis服务的响应速度。

  • Sentinel兼容模式连接Redis实例提供Sentinel(哨兵)兼容模式,开启后客户端可以像连接原生Redis Sentinel一样连接Redis实例。

常见问题

报错信息

原因及解决方法

(error) ERR illegal address

未设置正确的白名单,可依次排查如下事项:

  1. 是否已将客户端的IP地址添加至Redis实例的白名单中,详情请参见设置白名单

  2. 是否选择正确的Redis连接地址,例如通过公网连接Redis实例,需连接Redis实例的公网连接地址,若此时选择Redis实例的专有网络连接地址会导致连接失败。

  3. 使用ECS实例通过专有网络连接时,检查ECS实例是否与Redis实例为同一VPC,若两者不是同一VPC,则可使用公网的方式进行访问。

排查后,可通过ping 实例地址进行测试,例如ping r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com,若返回正常,则表示客户端与Redis实例可正常连接。

(error) ERR client ip is not in whitelist

Could not connect to Redis

  • (error) ERR invalid password

  • (error) WRONGPASS invalid username-password pair

密码错误,请使用正确的密码和密码格式。根据选取账号的不同,密码格式有一定区别。

  • 使用默认账号(以实例ID命名的账号):直接填写密码即可。例如实例默认账号为r-bp1zxszhcgatnx****,自定义密码为Password21,密码验证命令为AUTH Password21

  • 使用新创建的账号:密码格式为user:password。例如自定义账号为testaccount,密码为Rp829dlwa,密码验证命令为AUTH testaccount:Rp829dlwa

说明
  • 如果通过第三方数据库管理工具(例如RDM等)连接Redis实例,请在密码框中输入user:password进行连接,请不要在用户名框中输入任何信息,否则会导致连接失败。

  • 如果忘记密码,您可以重置密码。具体操作,请参见修改或重置密码

  • 本页导读 (1)
文档反馈