redis-cli是原生Redis自带的命令行工具,您可以在ECS实例或本地设备上通过redis-cli连接云数据库Redis,进行数据管理。

连接Redis使用的网络类型

网络类型 说明
专有网络(推荐) 专有网络VPC(Virtual Private Cloud)是您自己独有的云上私有网络,不同的专有网络之间二层逻辑隔离,拥有较高的安全性和性能。redis-cli部署在ECS实例上时,通过专有网络连接至Redis实例,可获得更高的安全性和更低的网络延迟。
公网 公网即互联网,当本地设备需要测试或管理Redis实例时,可在本地设备上部署redis-cli,然后通过公网连接至Redis实例。
说明 通过公网连接不会产生流量费用,但存在一定的安全风险,推荐通过专有网络连接以获取更高的安全性。

redis-cli说明

  • 由于redis-cli是原生Redis自带的命令行工具,通常您需要通过在ECS实例或本地设备上安装Redis服务的方式,完成redis-cli的安装。
    说明 除redis-cli以外,您还可以通过数据管理DMS(Data Management)免客户端快速连接Redis数据库,帮助您可视化管理Redis数据库。具体操作,请参见通过DMS登录Redis
  • redis-cli的版本可以与Redis实例的大版本不同。

redis-cli连接方法(Linux系统)

  1. 安装redis-cli(如已安装,可跳过)。
    1. 登录待安装redis-cli的设备,例如ECS实例或本地设备。
    2. 执行下述命令下载Redis源码文件:
      wget https://download.redis.io/releases/redis-6.0.9.tar.gz
      说明 本文以redis-6.0.9版本为例演示操作流程,您也可以安装其他版本。具体操作,请参见Redis官网
    3. 执行下述命令解压Redis源码文件:
      tar xzf redis-6.0.9.tar.gz
    4. 执行下述命令进入解压后的目录并编译安装Redis源码文件:
      cd redis-6.0.9&&make
      说明 编译安装需要一段时间(通常2分钟~3分钟)。
  2. 根据redis-cli的安装位置,完成下述操作:
    redis-cli安装位置 需完成的操作
    ECS实例(推荐)
    1. 确保ECS实例与Redis实例属于同一专有网络(即实例基本信息中的专有网络ID一致)。
      说明
    2. 获取ECS实例的内网IP地址。具体操作,请参见查询ECS实例的IP地址
    3. 将ECS实例的内网IP地址添加至Redis实例的白名单中。具体操作,请参见设置白名单
    本地
    1. Redis实例默认仅提供内网连接地址,通过公网连接时您需要手动申请公网连接地址。具体操作,请参见申请公网连接地址
    2. 在本地设备上执行curl ipinfo.io |grep ip命令,获取其公网IP地址,返回示例如下:查看公网IP结果
    3. 将本地设备的公网IP地址添加至Redis实例的白名单中。具体操作,请参见设置白名单
  3. 获取连接信息并执行下述命令连接Redis实例:
    src/redis-cli -h <hostname> -p <port> [-c]
    表 1. 参数说明
    参数 说明 获取方式
    <hostname> Redis实例的连接地址
    • ECS实例通过专有网络连接:需获取Redis实例的专有网络连接地址。
    • 本地设备通过公网连接:需获取Redis实例的公网连接地址。

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

    <port> Redis实例的端口号 端口号默认为6379,您也可以自定义端口号。具体操作,请参见修改连接地址或端口
    -c 启用集群模式 只有当Redis实例为集群架构,且需要使用直连地址连接时,才需要加上-c
    默认地址连接示例(适用于通过默认地址连接的场景,例如标准架构实例的连接地址或集群架构实例的代理地址):
    src/redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379
    直连地址连接示例(适用于通过直连地址连接的场景):
    src/redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379 -c
  4. 执行下述命令完成密码验证:
    AUTH <password>
    说明 如果实例已开启专有网络免密访问,通过专有网络连接Redis实例时无需执行本步骤即可正常执行Redis命令。
    <password>:账号的密码,根据选取账号的不同,密码的填写格式有一定区别。如果忘记密码,您可以重置密码。具体操作,请参见修改或重置密码
    • 默认账号:直接填写密码即可。
      说明 默认账号为default,如果没有default则默认账号为以实例ID命名的账号(例如r-bp10noxlhcoim2****)。
    • 新创建的账号:密码格式为<user>:<password>,默认账号也支持此认证方式。例如自定义账号为testaccount,密码为Rp829dlwa,密码需填写为testaccount:Rp829dlwa

    示例:

    AUTH testaccount:Rp829dlwa
    验证成功后,返回如下结果:
    OK
    说明 如果出现报错,请参见常见连接报错
  5. 完成验证后,即可执行Redis命令,例如执行DBSIZE命令查询当前库有多少个键(Key)。
    关于云数据库Redis支持的命令,请参见Redis命令支持概览;关于所有Redis命令的介绍和使用方法,请参见Redis官网

redis-cli连接方法(Windows系统)

说明 目前仅支持64位的Windows系统。
  1. 安装redis-cli(如已安装,可跳过)。
    1. 登录待安装redis-cli的设备,例如ECS实例或本地设备。
    2. 下载Redis-x64-3.2.100.zip文件。
      说明 本文以redis-3.2版本(最新版本)为例演示操作流程,您也可以安装其他版本。更多信息,请参见MicrosoftArchive-Redis
    3. Redis-x64-3.2.100.zip解压至待安装的目录,本案例将其解压至D:\Redis-x64-3.2.100目录中。
  2. 根据redis-cli的安装位置,完成下述操作:
    redis-cli安装位置 需完成的操作
    ECS实例(推荐)
    1. 确保ECS实例与Redis实例属于同一专有网络(即实例基本信息中的专有网络ID一致)。
      说明 如果专有网络不同,您需要更换ECS实例所属的专有网络。具体操作,请参见更换ECS实例的VPC
    2. 获取ECS实例的内网IP地址。具体操作,请参见查询ECS实例的IP地址
    3. 将ECS实例的内网IP地址添加至Redis实例的白名单中。具体操作,请参见设置白名单
    本地
    1. Redis实例默认仅提供内网连接地址,通过公网连接时您需要手动申请公网连接地址。具体操作,请参见申请公网连接地址
    2. 在本地设备上访问淘宝IP地址库获取其公网地址。
    3. 将本地设备的公网IP地址添加至Redis实例的白名单中。具体操作,请参见设置白名单
  3. 在安装了redis-cli的ECS实例或本地设备上,使用Windows键+R组合键打开运行对话框,然后输入cmd并单击确定
    系统将为您打开Windows命令行窗口。
    图 1. Windows命令行窗口
    Windows命令行窗口
  4. 执行下述命令,进入redis-cli所属的目录。
    cd /d <path>

    <path>:Redis-x64-3.2.100.zip解压后的完整路径,本案例为D:\Redis-x64-3.2.100

    示例:

    cd /d D:\Redis-x64-3.2.100
  5. 获取连接信息并执行下述命令连接Redis实例:
    redis-cli -h <hostname> -p <port> [-c]
    表 2. 参数说明
    参数 说明 获取方式
    <hostname> Redis实例的连接地址
    • ECS实例通过专有网络连接:需获取Redis实例的专有网络连接地址。
    • 本地设备通过公网连接:需获取Redis实例的公网连接地址。

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

    <port> Redis实例的端口号 端口号默认为6379,您也可以自定义端口号。具体操作,请参见修改连接地址或端口
    -c 启用集群模式 只有当Redis实例为集群架构,且需要使用直连地址连接时,才需要加上-c
    默认地址连接示例(适用于通过默认地址连接的场景,例如标准架构实例的连接地址集群架构实例的代理地址):
    redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379
    直连地址连接示例(适用于通过直连地址连接的场景):
    redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379 -c
  6. 执行下述命令完成密码验证:
    AUTH <password>
    说明 如果实例已开启专有网络免密访问,通过专有网络连接Redis实例时无需执行本步骤即可正常执行Redis命令。
    <password>:账号的密码,根据选取账号的不同,密码的填写格式有一定区别。如果忘记密码,您可以重置密码。具体操作,请参见修改或重置密码
    • 默认账号:直接填写密码即可。
      说明 默认账号为default,如果没有default则默认账号为以实例ID命名的账号(例如r-bp10noxlhcoim2****)。
    • 新创建的账号:密码格式为<user>:<password>。例如自定义账号为testaccount,密码为Rp829dlwa,密码需填写为testaccount:Rp829dlwa

    示例:

    AUTH testaccount:Rp829dlwa
    验证成功后,返回如下结果:
    OK
    说明 如果出现报错,请参见常见连接报错
  7. 完成验证后,即可执行Redis命令,例如执行DBSIZE命令查询当前库有多少个键(Key)。
    关于云数据库Redis支持的命令,请参见Redis命令支持概览;关于所有Redis命令的介绍和使用方法,请参见Redis官网

常见连接报错

说明 如果实例的小版本过低,报错信息可能不准确,建议将实例升级至最新的小版本。具体操作,请参见升级小版本
报错信息 原因及解决方法
(error) ERR illegal address 未设置正确的白名单,具体操作,请参见redis-cli连接方法(Linux系统)redis-cli连接方法(Windows系统)中的步骤2。
(error) ERR client ip is not in whitelist
(error) ERR invalid password 密码错误,请确认使用正确的密码和密码格式。根据选取账号的不同,密码格式有一定区别。
  • 默认账号(即以实例ID命名的账号):直接填写密码即可。
  • 新创建的账号:密码格式为<user>:<password>。例如自定义账号为testaccount,密码为Rp829dlwa,密码需填写为testaccount:Rp829dlwa
说明
  • 如果是通过部分管理工具(例如RDM等)连接Redis实例,请在密码框中输入<user>:<password>进行连接。
  • 如果忘记密码,您可以重置密码。具体操作,请参见修改或重置密码

视频演示

您可以通过观看以下视频来了解如何通过redis-cli连接Redis实例,视频时长约2分钟。