- Redis官方文档:https://redis.io/commands/ping
- 起始版本:1.0.0
如果没有提供参数返回 PONG。否则返回 msg 本身。
例子:
await client.ping()
// "PONG"
await client.ping('Hello World!')
// "Hello World!"
需要发送的信息,
- Redis官方文档:https://redis.io/commands/quit
- 起始版本:1.0.0
请求 Redis server 关闭连接。
始终返回 OK。
- Redis官方文档:https://redis.io/commands/info
- 起始版本:1.0.0
只返回指定 section 的内容。
- Redis官方文档:https://redis.io/commands/sadd
- 起始版本:1.0.0
- 时间复杂度:每一个 member 添加的复杂度为 O(1),所以添加 N 个 member 的复杂度是 O(N)。
向指定 set 添加 member,返回添加进 set 的 member 个数。
注意:2.4 版本开始接受多个 member 参数。更早的版本一次命令只能添加一个 member。
例子:
await client.sadd('myset', 'Hello')
// 1
await client.sadd('myset', 'World')
// 1
await client.sadd('myset', 'World')
// 0
await client.smembers('myset')
// ["World", "Hello"]
- Redis官方文档:https://redis.io/commands/scard
- 起始版本:1.0.0
- 时间复杂度:O(1)
返回集合基数(元素数)。
例子:
await client.sadd('myset', 'Hello')
// 1
await client.sadd('myset', 'World')
// 1
await client.scard('myset')
// 2
- Redis官方文档:https://redis.io/commands/sdiff
- 起始版本:1.0.0
- 时间复杂度:O(N) N 是所有指定 set 包含的总元素数。
返回第一个 set 和后面连续的 set 做差集,一系列 member。
例子:
await client.sadd('key1', 'a', 'b', 'c')
// 3
await client.sadd('key2', 'c', 'd', 'e')
// 3
await client.sdiff('key1', 'key2')
// ["a", "b"]
- Redis官方文档:https://redis.io/commands/sdiffstore
- 起始版本:1.0.0
- 时间复杂度:O(N) N 是所有指定 set 包含的总元素数。
命令行为和 SDIFF 一致,区别是 SDIFFSTORE 并不返回结果,而是将结果存入 destination,并返回结果集的元素个数。
例子:
await client.sadd('key1', 'a', 'b', 'c')
// 3
await client.sadd('key2', 'c', 'd', 'e')
// 3
await client.sdiffstore('key', ['key1', 'key2'])
// 2
await client.smembers('key')
// ["a", "b"]
- Redis官方文档:https://redis.io/commands/sinter
- 起始版本:1.0.0
- 时间复杂度:最坏情况复杂度 O(N*M),N 是最小集合元素个数,M 是集合个数。
返回所有给定 set 的交集。
例子:
await client.sadd('key1', 'a', 'b', 'c')
// 3
await client.sadd('key2', 'c', 'd', 'e')
// 3
await client.sinter('key1', 'key2')
// ["c"]
- Redis官方文档:https://redis.io/commands/sinterstore
- 起始版本:1.0.0
- 时间复杂度:O(N) N 是所有指定 set 包含的总元素数。
命令行为和 SINTER 一致,区别是 SINTERSTORE 并不返回结果,而是将结果存入 destination,并返回结果集的元素个数。
例子:
await client.sadd('key1', 'a', 'b', 'c')
// 3
await client.sadd('key2', 'c', 'd', 'e')
// 3
await client.sinterstore('key', ['key1', 'key2'])
// 1
await client.smembers('key')
// ["c"]
- Redis官方文档:https://redis.io/commands/sismember
- 起始版本:1.0.0
- 时间复杂度:O(1)
判断 member 是否是给定 set 的元素。
返回值含义:
1
member 是给定集合的元素。0
member 不是给定集合的元素,或者 key 不存在。key 存在但是类型不是 set 的时候会抛出 WRONGTYPE Error。
例子:
await client.sadd('myset', 'one')
// 1
await client.sismember('myset', 'one')
// 1
await client.sismember('myset', 'two')
// 0
- Redis官方文档:https://redis.io/commands/smembers
- 起始版本:1.0.0
- 时间复杂度:O(N) N 是集合基数。
列出全部给定集合的元素。对于只传递一个 key 的 SINTER 操作效果一样。
例子:
await client.sadd('myset', 'Hello', 'World')
// 2
await client.smembers('myset')
// ["World", "Hello"]
- Redis官方文档:https://redis.io/commands/smembers
- 起始版本:1.0.0
- 时间复杂度:O(N) N 是集合基数。
列出全部给定集合的元素。对于只传递一个 key 的 SINTER 操作效果一样。
例子:
await client.sadd('myset', 'Hello', 'World')
// 2
await client.smembers('myset')
// ["World", "Hello"]
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/smismember
- 起始版本:6.2.0
- 时间复杂度:O(N) N 是需要检查的 member 数量。
返回指定 set 中一系列 member 的成员状态。对于每一个 member,1 表示是成员,0 表示不是成员。
例子:
await client.sadd('myset', 'one')
// 1
await client.sadd('myset', 'one')
// 1
await client.smismember('myset', 'one', 'notamember')
// [1, 0]
- Redis官方文档:https://redis.io/commands/smove
- 起始版本:1.0.0
- 时间复杂度:O(1)
从 source set 移动一个成员到 destination set。
返回值含义:
1
从 source set 中移除了 member。0
source set 不存在,或者 source set 中不包含 member。例子:
await client.sadd('myset', 'one', 'two')
// 2
await client.sadd('myotherset', 'three')
// 1
await client.smove('myset', 'myotherset', 'two')
// 1
await client.smembers('myset')
// ["one"]
await client.smembers('myotherset')
// ["two", "three"]
- Redis官方文档:https://redis.io/commands/spop
- 起始版本:1.0.0
- 时间复杂度:O(1)
随机的从指定 set 移除并返回指定个数的 member。默认返回一个。
这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。
注意:3.2 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.spop('myset')
// "one"
await client.smembers('myset')
// ["three", "two"]
await client.sadd('myset', 'four', 'five')
// 2
await client.spop('myset', 3)
// ["five", "three", "two"]
await client.smembers('myset')
// ["four"]
- Redis官方文档:https://redis.io/commands/spop
- 起始版本:1.0.0
- 时间复杂度:O(1)
随机的从指定 set 移除并返回指定个数的 member。默认返回一个。
这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。
注意:3.2 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.spop('myset')
// "one"
await client.smembers('myset')
// ["three", "two"]
await client.sadd('myset', 'four', 'five')
// 2
await client.spop('myset', 3)
// ["five", "three", "two"]
await client.smembers('myset')
// ["four"]
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/spop
- 起始版本:1.0.0
- 时间复杂度:O(1)
随机的从指定 set 移除并返回指定个数的 member。默认返回一个。
这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。
注意:3.2 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.spop('myset')
// "one"
await client.smembers('myset')
// ["three", "two"]
await client.sadd('myset', 'four', 'five')
// 2
await client.spop('myset', 3)
// ["five", "three", "two"]
await client.smembers('myset')
// ["four"]
指定需要 pop 的元素个数。
- Redis官方文档:https://redis.io/commands/spop
- 起始版本:1.0.0
- 时间复杂度:O(1)
随机的从指定 set 移除并返回指定个数的 member。默认返回一个。
这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。
注意:3.2 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.spop('myset')
// "one"
await client.smembers('myset')
// ["three", "two"]
await client.sadd('myset', 'four', 'five')
// 2
await client.spop('myset', 3)
// ["five", "three", "two"]
await client.smembers('myset')
// ["four"]
指定需要 pop 的元素个数。
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/srandmember
- 起始版本:1.0.0
- 时间复杂度:不指定 count 参数时,复杂度为 O(1),否则为 O(N) N 为 count。
随机的从 set 返回指定个数的 member。默认返回一个。
这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。
不同参数设定方式对应的行为:
注意:2.6 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.srandmember('myset')
// "three"
await client.srandmember('myset', 5)
// ["two", "three", "one"]
await client.srandmember('myset', -5)
// ["three", "two", "two", "two", "three"]
await client.srandmember('myset', 0)
// []
- Redis官方文档:https://redis.io/commands/srandmember
- 起始版本:1.0.0
- 时间复杂度:不指定 count 参数时,复杂度为 O(1),否则为 O(N) N 为 count。
随机的从 set 返回指定个数的 member。默认返回一个。
这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。
不同参数设定方式对应的行为:
注意:2.6 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.srandmember('myset')
// "three"
await client.srandmember('myset', 5)
// ["two", "three", "one"]
await client.srandmember('myset', -5)
// ["three", "two", "two", "two", "three"]
await client.srandmember('myset', 0)
// []
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/srandmember
- 起始版本:1.0.0
- 时间复杂度:不指定 count 参数时,复杂度为 O(1),否则为 O(N) N 为 count。
随机的从 set 返回指定个数的 member。默认返回一个。
这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。
不同参数设定方式对应的行为:
注意:2.6 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.srandmember('myset')
// "three"
await client.srandmember('myset', 5)
// ["two", "three", "one"]
await client.srandmember('myset', -5)
// ["three", "two", "two", "two", "three"]
await client.srandmember('myset', 0)
// []
- Redis官方文档:https://redis.io/commands/srandmember
- 起始版本:1.0.0
- 时间复杂度:不指定 count 参数时,复杂度为 O(1),否则为 O(N) N 为 count。
随机的从 set 返回指定个数的 member。默认返回一个。
这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。
不同参数设定方式对应的行为:
注意:2.6 版本开始支持 count 参数。更早的版本只会默认返回一个元素。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.srandmember('myset')
// "three"
await client.srandmember('myset', 5)
// ["two", "three", "one"]
await client.srandmember('myset', -5)
// ["three", "two", "two", "two", "three"]
await client.srandmember('myset', 0)
// []
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/srem
- 起始版本:1.0.0
- 时间复杂度:O(N) N 是要移除的 member 数量。
从 set 移除指定的一系列 member。如果指定的 member 不在 set 中,则被忽略。
如果 key 不存在被认为是个空的 set。如果 key 对应的值不是 set 类型会抛出异常。
注意:2.4 版本开始支持传递多个 member。更早的版本中一次命令调用只能移除一个 member。
例子:
await client.sadd('myset', 'one', 'two', 'three')
// 3
await client.srem('myset', 'one', 'four')
// 1
await client.smembers('myset')
// ["three", "two"]
- Redis官方文档:https://redis.io/commands/sscan
- 起始版本:2.8.0
- 时间复杂度:**每次调用的消耗为O(1),完整迭代一次为 O(N),包括足以使光标返回到 0 的命令调用。N 是集合内元素的数量。
详情参见 SCAN 命令。
- Redis官方文档:https://redis.io/commands/sscan
- 起始版本:2.8.0
- 时间复杂度:**每次调用的消耗为O(1),完整迭代一次为 O(N),包括足以使光标返回到 0 的命令调用。N 是集合内元素的数量。
详情参见 SCAN 命令。
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/sunion
- 起始版本:1.0.0
- 时间复杂度:O(N) N 为全部集合的元素总数。
返回所有给定的一系列 set 的并集。
例子:
await client.sadd('key1', 'a', 'b', 'c')
// 3
await client.sadd('key2', 'c', 'd', 'e')
// 3
await client.sunion('key1', 'key2')
// ["e", "b", "c", "a", "d"]
- Redis官方文档:https://redis.io/commands/sunionstore
- 起始版本:1.0.0
- 时间复杂度:O(N) N 是所有指定 set 包含的总元素数。
命令行为和 SUNION 一致,区别是 SUNIONSTORE 并不返回结果,而是将结果存入 destination,并返回结果集的元素个数。
例子:
await client.sadd('key1', 'a', 'b', 'c')
// 3
await client.sadd('key2', 'c', 'd', 'e')
// 3
await client.sunionstore('key', ['key1', 'key2'])
// 5
await client.smembers('key')
// ["e", "b", "c", "a", "d"]
Generated using TypeDoc
直接返回 msg 本身。
例子: