# 工具类 Redis Api

# 属性

# client

数据库的实例对象,可以直接操作第三方包 node-redis (opens new window) 一系列方法与事件。

# online

当前数据库是否成功连接。

# 类型定义

type Argument = Buffer | string;
type SetFieldValue = Argument | number;
/* set */
type SetValue =
	Record<string | number, SetFieldValue> |
	Map<SetFieldValue, SetFieldValue> |
	Array<[ SetFieldValue, SetFieldValue ]> |
	Array<SetFieldValue>;

# Common

通用方法。

# setTimeout()

interface DatabaseMethod {
    setTimeout( key: Argument, time: number ): Promise<void>;
}
  • key 操作目标的键值
  • time 目标的过期时间,单位 ms

原型 EXPIRE (opens new window) 。设置数据过期时间。

# deleteKey()

interface DatabaseMethod {
    deleteKey( ...keys: Argument[] ): Promise<void>;
}
  • keys 待删除的数据的键值,可多个

原型 DEL (opens new window) 。删除数据。

# getKeysByPrefix()

interface DatabaseMethod {
    getKeysByPrefix( prefix: string ): Promise<string[]>;
}
  • prefix 在数据库中匹配的键值前缀
  • 返回值: 键名列表

原型 KEYS (opens new window) 。根据键值前缀获取数据库中满足条件的键的列表。

# String

字符串 (opens new window) 相关方法。

# setString()

interface DatabaseMethod {
    setString( key: Argument, value: Argument | number, timeout?: number ): Promise<void>;
}
  • key 操作目标的键值
  • value 设置的值
  • timeout 可选参数,数据过期时间,单位 ms ,默认不会过期

原型 SET (opens new window) 。设置一个字符串类型的数据。

# getString()

interface DatabaseMethod {
    getString( key: Argument ): Promise<string>;
}
  • key 操作目标的键值
  • 返回值: 键值内容

原型 GET (opens new window) 。获取一个字符串类型的数据。当键值不存在时,返回 ""

# Hash

哈希 (opens new window) 相关方法。

# setHash()

interface DatabaseMethod {
    setHash( key: Argument, value: SetValue ): Promise<void>;
}
  • key 操作目标的键值
  • value 目标的过期时间,单位 ms

原型 HMSET (opens new window) 。设置一个 Hash 类型的数据。

value 支持如下几种类型:

  • 键值类型为 SetFieldValue 的对象:如 { k1: 1, k2: "2" }
  • 键值类型为 SetFieldValue 的 Map 对象:如 Map(2) { "k1" => 1, "k2" => "2" }
  • 每一项类型为 SetFieldValue 的数组,如 \[ "k1", "k2" ]
  • 每一项类型为 SetFieldValue 的二位数组,如 \[ \[ "k1", 1 ], \[ "k2", "2" ] ]

# getHash()

interface DatabaseMethod {
    getHash( key: Argument ): Promise<Record<string, string>>;
}
  • key 操作目标的键值
  • 返回值: 键值内容

原型 HGETALL (opens new window) 。获取一个 Hash 类型数据的所有字段以及值,返回为 Object (opens new window) 类型。当键值不存在时,返回 {}

# delHash()

interface DatabaseMethod {
    delHash( key: Argument, ...fields: Argument[] ): Promise<void>;
}
  • key 操作目标的键值
  • fields 待删除的字段名,可多个
  • 返回值: Promise<void>

原型 HDEL (opens new window) 。删除一个 Hash 类型数据的部分字段。

# incHash()

interface DatabaseMethod {
    incHash( key: Argument, field: Argument, increment: number ): Promise<void>;
}
  • key 操作目标的键值
  • field 待操作的字段名
  • increment 添加的值,可为整形或浮点型

原型 HINCRBY (opens new window)HINCRBYFLOAT (opens new window) 。给一个 Hash 类型数据的某字段加上某值。

# existHashKey()

interface DatabaseMethod {
    existHashKey( key: Argument, field: Argument ): Promise<boolean>;
}
  • key 操作目标的键值
  • field 待判断的字段名
  • 返回值: 是否包含

原型 HEXISTS (opens new window) 。判断一个 Hash 类型数据中是否包含某字段。

# setHashField()

interface DatabaseMethod {
    setHashField( key: Argument, field: SetFieldValue, value: SetFieldValue ): Promise<void>;
}
  • key 操作目标的键值
  • field 待操作的字段名
  • value 赋值的值

原型 hmset (opens new window) 。将一个 Hash 类型数据中的某一个字段设置为对应的值。

# getHashField()

interface DatabaseMethod {
    getHashField( key: Argument, field: Argument ): Promise<string>;
}
  • key 操作目标的键值
  • field 待操作的字段名
  • 返回值: 字段的值

原型 hget (opens new window) 。用于返回一个 Hash 类型中指定字段的值。

# List

列表 (opens new window) 相关方法。

# getList()

interface DatabaseMethod {
    getList( key: Argument ): Promise<string[]>;
}
  • key 操作目标的键值
  • 返回值: 键值列表数据

原型 LRANGE (opens new window) 。获取一个完整的 List 类型数据。当键值不存在时,返回 []

# getListLength()

interface DatabaseMethod {
    getListLength( key: Argument ): Promise<number>;
}
  • key 操作目标的键值
  • 返回值: 目标键值列表长度

原型 LLEN (opens new window) 。获取一个 List 类型数据的长度。当键值不存在时,返回 0

# addListElement()

interface DatabaseMethod {
    addListElement( key: Argument, ...value: Argument[] ): Promise<void>;
}
  • key 操作目标的键值
  • value 待添加的数据,可多个

原型 RPUSH (opens new window) 。向一个 List 类型数据中添加若干数据。

# delListElement()

interface DatabaseMethod {
    delListElement( key: Argument, ...value: Argument[] ): Promise<void>;
}
  • key 操作目标的键值
  • value 待删除的数据,可多个

原型 LREM (opens new window) 。从一个 List 类型数据中删除若干数据。

# existListElement()

interface DatabaseMethod {
    existListElement( key: Argument, value: SetFieldValue ): Promise<boolean>;
}
  • key 操作目标的键值
  • value 待判断的数据
  • 返回值: 是否存在

判断一个 List 类型数据中是否包含某数据,传入的 value 将会被转为 [String] 进行判断。

# Set

集合 (opens new window) 相关方法。

# getSet()

interface DatabaseMethod {
    getSet( key: Argument ): Promise<string[]>;
}
  • key 操作目标的键值
  • 返回值: 目标键值内容

原型 SMEMBERS (opens new window) 。获取一个 Set 类型数据。当键值不存在时,返回 []

# getSetMemberNum()

interface DatabaseMethod {
    getSetMemberNum( key: string ): Promise<number>;
}
  • key 操作目标的键值
  • 返回值: 目标键值所得集合长度

原型 SCARD (opens new window) 。获取一个 Set 类型数据中含有的成员的数量。当键值不存在时,返回 0

# addSetMember()

interface DatabaseMethod {
    addSetMember( key: Argument, ...value: Argument[] ): Promise<void>;
}
  • key 操作目标的键值
  • value 待添加的数据,可多个

原型 SADD (opens new window) 。向一个 Set 类型数据中添加若干数据。

# delSetMember()

interface DatabaseMethod {
    delSetMember( key: Argument, ...value: Argument[] ): Promise<void>;
}
  • key 操作目标的键值
  • value 待删除的数据,可多个

原型 SREN (opens new window) 。从一个 Set 类型数据中删除若干数据。

# existSetMember()

interface DatabaseMethod {
    existSetMember( key: Argument, value: Argument ): Promise<boolean>;
}
  • key 操作目标的键值
  • value 待判断的数据
  • 返回值: 是否存在

原型 SISMEMBER (opens new window) 。判断一个 Set 类型数据中是否包含某数据。

最后编辑于: 1/30/2024, 1:03:25 AM