HELLO
HELLO 命令用于在 Redis 服务器和客户端之间进行握手。它还允许客户端协商使用的 RESP 协议版本,并进行身份验证。
Redis 原生命令语法
Section titled “Redis 原生命令语法”HELLO [protover [AUTH username password] [SETNAME clientname]]参数说明
- protover: 要协商的 RESP 协议版本(2 或 3)
- AUTH username password: 可选的身份验证信息
- SETNAME clientname: 设置客户端名称
HELLO 命令是 Redis 6.0 引入的现代化握手命令,用于替代旧的 AUTH 和 SELECT 命令组合。它提供了一种标准化的方式来:
- 协商客户端和服务器之间使用的 RESP(Redis 序列化协议)版本
- 进行身份验证
- 设置客户端名称
RESP 协议版本
Section titled “RESP 协议版本”Redis 支持两种 RESP 协议版本:
- RESP2:Redis 2.0 引入的协议版本
- RESP3:Redis 6.0 引入的协议版本,提供了更丰富的数据类型支持
HELLO 命令可以直接在握手过程中进行身份验证,避免了单独发送 AUTH 命令。
设置客户端名称
Section titled “设置客户端名称”可以使用 SETNAME 选项为客户端连接设置一个名称,便于服务器端管理和监控。
Redisun 使用方式
Section titled “Redisun 使用方式”在 redisun 中,HELLO 命令通过 HelloCommand 类实现,但通常不需要直接调用,因为客户端会在连接建立时自动执行 HELLO 命令。
直接使用 HelloCommand
Section titled “直接使用 HelloCommand”Redisun redisun = new Redisun(); // 使用默认配置// HELLO 命令会自动执行,无需手动调用使用身份验证
Section titled “使用身份验证”身份验证信息通过 RedisunOptions 配置:
Redisun redisun = Redisun.create(options -> { options.setUsername("myuser"); options.setPassword("mypassword");});- HELLO 命令在 Redis 6.0 及以上版本中可用
- 客户端通常在连接建立时自动执行 HELLO 命令
- 通过 HELLO 命令进行身份验证比单独使用 AUTH 命令更高效