工具类 Redis Api
属性
client
数据库的实例对象,可以直接操作第三方包 node-redis 一系列方法与事件。
online
- 类型: Boolean
当前数据库是否成功连接。
类型定义
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 。设置数据过期时间。
deleteKey()
interface DatabaseMethod {
deleteKey( ...keys: Argument[] ): Promise<void>;
}
keys
待删除的数据的键值,可多个
原型 DEL 。删除数据。
getKeysByPrefix()
interface DatabaseMethod {
getKeysByPrefix( prefix: string ): Promise<string[]>;
}
prefix
在数据库中匹配的键值前缀- 返回值: 键名列表
原型 KEYS 。根据键值前缀获取数据库中满足条件的键的列表。
String
字符串 相关方法。
setString()
interface DatabaseMethod {
setString( key: Argument, value: Argument | number, timeout?: number ): Promise<void>;
}
key
操作目标的键值value
设置的值timeout
可选参数,数据过期时间,单位 ms ,默认不会过期
原型 SET 。设置一个字符串类型的数据。
getString()
interface DatabaseMethod {
getString( key: Argument ): Promise<string>;
}
key
操作目标的键值- 返回值: 键值内容
原型 GET 。获取一个字符串类型的数据。当键值不存在时,返回 ""
。
Hash
哈希 相关方法。
setHash()
interface DatabaseMethod {
setHash( key: Argument, value: SetValue ): Promise<void>;
}
key
操作目标的键值value
目标的过期时间,单位 ms
原型 HMSET 。设置一个 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 。获取一个 Hash 类型数据的所有字段以及值,返回为 Object 类型。当键值不存在时,返回 {}
delHash()
interface DatabaseMethod {
delHash( key: Argument, ...fields: Argument[] ): Promise<void>;
}
key
操作目标的键值fields
待删除的字段名,可多个- 返回值:
Promise<void>
原型 HDEL 。删除一个 Hash 类型数据的部分字段。
incHash()
interface DatabaseMethod {
incHash( key: Argument, field: Argument, increment: number ): Promise<void>;
}
key
操作目标的键值field
待操作的字段名increment
添加的值,可为整形或浮点型
原型 HINCRBY 及 HINCRBYFLOAT 。给一个 Hash 类型数据的某字段加上某值。
existHashKey()
interface DatabaseMethod {
existHashKey( key: Argument, field: Argument ): Promise<boolean>;
}
key
操作目标的键值field
待判断的字段名- 返回值: 是否包含
原型 HEXISTS 。判断一个 Hash 类型数据中是否包含某字段。
setHashField()
interface DatabaseMethod {
setHashField( key: Argument, field: SetFieldValue, value: SetFieldValue ): Promise<void>;
}
key
操作目标的键值field
待操作的字段名value
赋值的值
原型 hmset 。将一个 Hash 类型数据中的某一个字段设置为对应的值。
getHashField()
interface DatabaseMethod {
getHashField( key: Argument, field: Argument ): Promise<string>;
}
key
操作目标的键值field
待操作的字段名- 返回值: 字段的值
原型 hget 。用于返回一个 Hash 类型中指定字段的值。
List
列表 相关方法。
getList()
interface DatabaseMethod {
getList( key: Argument ): Promise<string[]>;
}
key
操作目标的键值- 返回值: 键值列表数据
原型 LRANGE 。获取一个完整的 List 类型数据。当键值不存在时,返回 []
。
getListLength()
interface DatabaseMethod {
getListLength( key: Argument ): Promise<number>;
}
key
操作目标的键值- 返回值: 目标键值列表长度
原型 LLEN 。获取一个 List 类型数据的长度。当键值不存在时,返回 0
。
addListElement()
interface DatabaseMethod {
addListElement( key: Argument, ...value: Argument[] ): Promise<void>;
}
key
操作目标的键值value
待添加的数据,可多个
原型 RPUSH 。向一个 List 类型数据中添加若干数据。
delListElement()
interface DatabaseMethod {
delListElement( key: Argument, ...value: Argument[] ): Promise<void>;
}
key
操作目标的键值value
待删除的数据,可多个
原型 LREM 。从一个 List 类型数据中删除若干数据。
existListElement()
interface DatabaseMethod {
existListElement( key: Argument, value: SetFieldValue ): Promise<boolean>;
}
key
操作目标的键值value
待判断的数据- 返回值: 是否存在
判断一个 List 类型数据中是否包含某数据,传入的 value 将会被转为 [String] 进行判断。
Set
集合 相关方法。
getSet()
interface DatabaseMethod {
getSet( key: Argument ): Promise<string[]>;
}
key
操作目标的键值- 返回值: 目标键值内容
原型 SMEMBERS 。获取一个 Set 类型数据。当键值不存在时,返回 []
。
getSetMemberNum()
interface DatabaseMethod {
getSetMemberNum( key: string ): Promise<number>;
}
key
操作目标的键值- 返回值: 目标键值所得集合长度
原型 SCARD 。获取一个 Set 类型数据中含有的成员的数量。当键值不存在时,返回 0
。
addSetMember()
interface DatabaseMethod {
addSetMember( key: Argument, ...value: Argument[] ): Promise<void>;
}
key
操作目标的键值value
待添加的数据,可多个
原型 SADD 。向一个 Set 类型数据中添加若干数据。
delSetMember()
interface DatabaseMethod {
delSetMember( key: Argument, ...value: Argument[] ): Promise<void>;
}
key
操作目标的键值value
待删除的数据,可多个
原型 SREN 。从一个 Set 类型数据中删除若干数据。
existSetMember()
interface DatabaseMethod {
existSetMember( key: Argument, value: Argument ): Promise<boolean>;
}
key
操作目标的键值value
待判断的数据- 返回值: 是否存在
原型 SISMEMBER 。判断一个 Set 类型数据中是否包含某数据。