跳到主要内容

redis

redis 库提供 Redis 客户端能力,用于连接 Redis 服务并执行命令,常用于未授权访问检测、数据读取与服务交互测试。

典型使用场景:

  • 创建客户端:redis.New(opts...) 创建客户端,配 redis.host / redis.port / redis.addr 指定目标,redis.username / redis.password 提供凭据,redis.timeoutSeconds / redis.retry 控制连接行为,之后执行 Redis 命令。

与相邻库的关系:redis 属于协议交互工具,与 brute(口令爆破)、servicescan(服务识别)配合,常用于 Redis 未授权/弱口令的检测。

共 8 个函数

函数索引

函数参数返回值说明
redis.addra stringredisConfigOpt是一个 Redis 客户端配置选项,用于以 host:port 形式同时设置主机与端口
redis.hosth stringredisConfigOpt是一个 Redis 客户端配置选项,用于设置 Redis 服务器主机地址
redis.passworda stringredisConfigOpt是一个 Redis 客户端配置选项,用于设置认证密码
redis.porth intredisConfigOpt是一个 Redis 客户端配置选项,用于设置 Redis 服务器端口
redis.retrya intredisConfigOpt是一个 Redis 客户端配置选项,用于设置连接的最大重试次数
redis.timeoutSecondsd intredisConfigOpt是一个 Redis 客户端配置选项,用于设置连接与读写超时(单位:秒)
redis.usernamea stringredisConfigOpt是一个 Redis 客户端配置选项,用于设置认证用户名(Redis 6.0+ ACL)

可变参数函数索引

函数参数返回值说明
redis.Newr ...redisConfigOpt*redisClient创建一个 Redis 客户端,可通过配置选项指定地址、认证、超时等参数

函数详情

addr

addr(a string) redisConfigOpt

是一个 Redis 客户端配置选项,用于以 host:port 形式同时设置主机与端口

参数

参数名类型说明
astringRedis 服务器地址,格式为 host:port

返回值

序号类型说明
r1redisConfigOpt一个 Redis 客户端配置选项,作为可变参数传入 redis.New

示例

// 以 host:port 形式创建 Redis 客户端,此处仅作示意
client = redis.New(redis.addr("127.0.0.1:6379"))
defer client.Close()

host

host(h string) redisConfigOpt

是一个 Redis 客户端配置选项,用于设置 Redis 服务器主机地址

参数

参数名类型说明
hstringRedis 服务器主机地址

返回值

序号类型说明
r1redisConfigOpt一个 Redis 客户端配置选项,作为可变参数传入 redis.New

示例

// 指定 Redis 主机与端口创建客户端,此处仅作示意
client = redis.New(redis.host("127.0.0.1"), redis.port(6379))
defer client.Close()

password

password(a string) redisConfigOpt

是一个 Redis 客户端配置选项,用于设置认证密码

参数

参数名类型说明
astring认证密码

返回值

序号类型说明
r1redisConfigOpt一个 Redis 客户端配置选项,作为可变参数传入 redis.New

示例

// 指定密码创建 Redis 客户端,此处仅作示意
client = redis.New(redis.addr("127.0.0.1:6379"), redis.password("123456"))
defer client.Close()

port

port(h int) redisConfigOpt

是一个 Redis 客户端配置选项,用于设置 Redis 服务器端口

参数

参数名类型说明
hintRedis 服务器端口,默认 6379

返回值

序号类型说明
r1redisConfigOpt一个 Redis 客户端配置选项,作为可变参数传入 redis.New

示例

// 指定 Redis 端口创建客户端,此处仅作示意
client = redis.New(redis.host("127.0.0.1"), redis.port(6380))
defer client.Close()

retry

retry(a int) redisConfigOpt

是一个 Redis 客户端配置选项,用于设置连接的最大重试次数

参数

参数名类型说明
aint最大重试次数

返回值

序号类型说明
r1redisConfigOpt一个 Redis 客户端配置选项,作为可变参数传入 redis.New

示例

// 设置连接重试次数创建 Redis 客户端,此处仅作示意
client = redis.New(redis.addr("127.0.0.1:6379"), redis.retry(5))
defer client.Close()

timeoutSeconds

timeoutSeconds(d int) redisConfigOpt

是一个 Redis 客户端配置选项,用于设置连接与读写超时(单位:秒)

参数

参数名类型说明
dint超时时间,单位为秒

返回值

序号类型说明
r1redisConfigOpt一个 Redis 客户端配置选项,作为可变参数传入 redis.New

示例

// 设置超时创建 Redis 客户端,此处仅作示意
client = redis.New(redis.addr("127.0.0.1:6379"), redis.timeoutSeconds(5))
defer client.Close()

username

username(a string) redisConfigOpt

是一个 Redis 客户端配置选项,用于设置认证用户名(Redis 6.0+ ACL)

参数

参数名类型说明
astring认证用户名

返回值

序号类型说明
r1redisConfigOpt一个 Redis 客户端配置选项,作为可变参数传入 redis.New

示例

// 指定用户名与密码创建 Redis 客户端,此处仅作示意
client = redis.New(redis.addr("127.0.0.1:6379"), redis.username("default"), redis.password("123456"))
defer client.Close()

可变参数函数详情

New

New(r ...redisConfigOpt) *redisClient

创建一个 Redis 客户端,可通过配置选项指定地址、认证、超时等参数

可选参数

参数名类型说明
r...redisConfigOpt可选配置,例如 redis.addr、redis.host、redis.port、redis.password、redis.timeoutSeconds

返回值

序号类型说明
r1*redisClientRedis 客户端对象,可调用 Get/Set/Publish/Subscribe 等方法

示例

// 创建 Redis 客户端并读写键值,依赖 Redis 服务,此处仅作示意
client = redis.New(redis.addr("127.0.0.1:6379"), redis.timeoutSeconds(5))
defer client.Close()
client.Set("key", "value")~
val = client.Get("key")~
println(val)