跳转到内容

HELLO

HELLO 命令用于在 Redis 服务器和客户端之间进行握手。它还允许客户端协商使用的 RESP 协议版本,并进行身份验证。

Terminal window
HELLO [protover [AUTH username password] [SETNAME clientname]]

参数说明

  • protover: 要协商的 RESP 协议版本(2 或 3)
  • AUTH username password: 可选的身份验证信息
  • SETNAME clientname: 设置客户端名称

HELLO 命令是 Redis 6.0 引入的现代化握手命令,用于替代旧的 AUTH 和 SELECT 命令组合。它提供了一种标准化的方式来:

  1. 协商客户端和服务器之间使用的 RESP(Redis 序列化协议)版本
  2. 进行身份验证
  3. 设置客户端名称

Redis 支持两种 RESP 协议版本:

  • RESP2:Redis 2.0 引入的协议版本
  • RESP3:Redis 6.0 引入的协议版本,提供了更丰富的数据类型支持

HELLO 命令可以直接在握手过程中进行身份验证,避免了单独发送 AUTH 命令。

可以使用 SETNAME 选项为客户端连接设置一个名称,便于服务器端管理和监控。

在 redisun 中,HELLO 命令通过 HelloCommand 类实现,但通常不需要直接调用,因为客户端会在连接建立时自动执行 HELLO 命令。

Redisun redisun = new Redisun(); // 使用默认配置
// HELLO 命令会自动执行,无需手动调用

身份验证信息通过 RedisunOptions 配置:

Redisun redisun = Redisun.create(options -> {
options.setUsername("myuser");
options.setPassword("mypassword");
});
  1. HELLO 命令在 Redis 6.0 及以上版本中可用
  2. 客户端通常在连接建立时自动执行 HELLO 命令
  3. 通过 HELLO 命令进行身份验证比单独使用 AUTH 命令更高效