Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RedisSetClient

Hierarchy

Index

Constructors

constructor

Connection Methods

echo

  • echo(message: string): Promise<string>
  • 直接返回 msg 本身。

    例子:

    await client.echo('Hello World!')
    // "Hello World!"
    

    Parameters

    • message: string

    Returns Promise<string>

ping

  • ping(msg?: string): Promise<string>
  • 如果没有提供参数返回 PONG。否则返回 msg 本身。

    例子:

    await client.ping()
    // "PONG"
    await client.ping('Hello World!')
    // "Hello World!"
    

    Parameters

    • Optional msg: string

      需要发送的信息,

    Returns Promise<string>

quit

  • quit(): Promise<"OK">
  • 请求 Redis server 关闭连接。

    • Redis Server 会在前面的命令都处理完后立刻关闭连接。

    始终返回 OK。

    Returns Promise<"OK">

select

  • select(db: number): Promise<string>
    • 起始版本:1.0.0

    选择从 0 开始计数的 Redis 逻辑数据库。

    Redis 的可选数据库是一种命名空间格式。所有的数据仍然存在相同的 RDB / AOF 文件中。不同的数据库可以有相同的 key。
    FLUSHDB [[RedisClient.swapdb | SWAPDB]] RANDOMKEY 可以在指定的数据库工作。

    Parameters

    • db: number

    Returns Promise<string>

    查看原始定义

Other Methods

on

  • on(event: string | symbol, listener: (...args: any[]) => void): RedisSetClient
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns RedisSetClient

once

  • once(event: string | symbol, listener: (...args: any[]) => void): RedisSetClient
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns RedisSetClient

Server Methods

info

  • info(section?: "server" | "clients" | "memory" | "persistence" | "stats" | "replication" | "cpu" | "commandstats" | "cluster" | "keyspace" | "all" | "defaultƒ"): Promise<RedisServerInfo>

Set Methods

sadd

  • sadd(key: string | Buffer, ...members: [string | Buffer, ...(string | Buffer)[]]): Promise<number>
    • Redis官方文档https://redis.io/commands/sadd
    • 起始版本:1.0.0
    • 时间复杂度:每一个 member 添加的复杂度为 O(1),所以添加 N 个 member 的复杂度是 O(N)。

    向指定 set 添加 member,返回添加进 set 的 member 个数。

    • 添加时 set 中已经存在的 member 会被忽略。
    • 如果 key 不存在会先创建一个 set。
    • 如果 key 存储的值不是 set 类型,会抛出 WRONGTYPE Error。

    注意: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"]
    

    Parameters

    • key: string | Buffer
    • Rest ...members: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<number>

scard

  • scard(key: string | Buffer): Promise<number>
  • 返回集合基数(元素数)。

    • key 不存在时返回 0。

    例子:

    await client.sadd('myset', 'Hello')
    // 1
    await client.sadd('myset', 'World')
    // 1
    await client.scard('myset')
    // 2
    

    Parameters

    • key: string | Buffer

    Returns Promise<number>

sdiff

  • sdiff(...keys: [string | Buffer, ...(string | Buffer)[]]): Promise<(string | Buffer)[]>
  • 返回第一个 set 和后面连续的 set 做差集,一系列 member。

    • key 不存在时被认为是个空的 set。

    例子:

    await client.sadd('key1', 'a', 'b', 'c')
    // 3
    await client.sadd('key2', 'c', 'd', 'e')
    // 3
    await client.sdiff('key1', 'key2')
    // ["a", "b"]
    

    Parameters

    • Rest ...keys: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<(string | Buffer)[]>

sdiffstore

  • sdiffstore(destination: string | Buffer, keys: [string | Buffer, ...(string | Buffer)[]]): Promise<number>
  • 命令行为和 SDIFF 一致,区别是 SDIFFSTORE 并不返回结果,而是将结果存入 destination,并返回结果集的元素个数。

    • 如果 destination 已经存在,则会被覆盖。
    • key 不存在时被认为是个空的 set。

    例子:

    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"]
    

    Parameters

    • destination: string | Buffer
    • keys: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<number>

sinter

  • sinter(...keys: [string | Buffer, ...(string | Buffer)[]]): Promise<(string | Buffer)[]>
    • Redis官方文档https://redis.io/commands/sinter
    • 起始版本:1.0.0
    • 时间复杂度:最坏情况复杂度 O(N*M),N 是最小集合元素个数,M 是集合个数。

    返回所有给定 set 的交集。

    • key 不存在时被认为是个空的 set,此时结果也是个空集。

    例子:

    await client.sadd('key1', 'a', 'b', 'c')
    // 3
    await client.sadd('key2', 'c', 'd', 'e')
    // 3
    await client.sinter('key1', 'key2')
    // ["c"]
    

    Parameters

    • Rest ...keys: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<(string | Buffer)[]>

sinterstore

  • sinterstore(destination: string | Buffer, keys: [string | Buffer, ...(string | Buffer)[]]): Promise<number>
  • 命令行为和 SINTER 一致,区别是 SINTERSTORE 并不返回结果,而是将结果存入 destination,并返回结果集的元素个数。

    • 如果 destination 已经存在,则会被覆盖。
    • key 不存在时被认为是个空的 set。

    例子:

    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"]
    

    Parameters

    • destination: string | Buffer
    • keys: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<number>

sismember

  • sismember(key: string | Buffer, member: string | Buffer): Promise<0 | 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
    

    Parameters

    • key: string | Buffer
    • member: string | Buffer

    Returns Promise<0 | 1>

smembers

  • smembers(key: string | Buffer): Promise<string[]>
  • smembers(key: string | Buffer, return_buffer: true): Promise<Buffer[]>
  • 列出全部给定集合的元素。对于只传递一个 key 的 SINTER 操作效果一样。

    • key 不存在被认为是空集。
    • key 存在但是类型不是 set 会抛出异常。

    例子:

    await client.sadd('myset', 'Hello', 'World')
    // 2
    await client.smembers('myset')
    // ["World", "Hello"]
    

    Parameters

    • key: string | Buffer

    Returns Promise<string[]>

  • 列出全部给定集合的元素。对于只传递一个 key 的 SINTER 操作效果一样。

    • key 不存在被认为是空集。
    • key 存在但是类型不是 set 会抛出异常。

    例子:

    await client.sadd('myset', 'Hello', 'World')
    // 2
    await client.smembers('myset')
    // ["World", "Hello"]
    

    Parameters

    • key: string | Buffer
    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<Buffer[]>

smismember

  • smismember(key: string | Buffer, ...members: [string | Buffer, ...(string | Buffer)[]]): Promise<number[]>
  • 返回指定 set 中一系列 member 的成员状态。对于每一个 member,1 表示是成员,0 表示不是成员。

    • key 不存在时被认为是个空集,所以结果是一系列的 0。
    • key 存在但是类型不是 set 会抛出异常。

    例子:

    await client.sadd('myset', 'one')
    // 1
    await client.sadd('myset', 'one')
    // 1
    await client.smismember('myset', 'one', 'notamember')
    // [1, 0]
    

    Parameters

    • key: string | Buffer
    • Rest ...members: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<number[]>

smove

  • smove(source: string | Buffer, destination: string | Buffer, member: string | Buffer): Promise<0 | 1>
  • 从 source set 移动一个成员到 destination set。

    • 该操作是原子性的,任意时刻对于其他客户端来说,member 要么在 source 中,要么在 destination 中。
    • 如果 source set 不存在,或者没有包含 member,则不会发生任何操作。否则,member 会被从 source set 移除,并添加到 destination set。
    • 如果 destination 中已经存在了 member,则该操作只会从 source set 中移除 member。

    返回值含义:

    • 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"]
    

    Parameters

    • source: string | Buffer
    • destination: string | Buffer
    • member: string | Buffer

    Returns Promise<0 | 1>

spop

  • spop(key: string | Buffer): Promise<null | string>
  • spop(key: string | Buffer, return_buffer: true): Promise<null | Buffer>
  • spop(key: string | Buffer, count: number): Promise<string[]>
  • spop(key: string | Buffer, count: number, return_buffer: true): Promise<Buffer[]>
  • 随机的从指定 set 移除并返回指定个数的 member。默认返回一个。

    这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。

    • 不指定 count 时返回单个元素,或者 null。
    • 指定 count 时以数组形式返回结果,如果集合中的元素不足,则返回集合全部元素,最小为空数组。

    注意: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"]
    

    Parameters

    • key: string | Buffer

    Returns Promise<null | string>

  • 随机的从指定 set 移除并返回指定个数的 member。默认返回一个。

    这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。

    • 不指定 count 时返回单个元素,或者 null。
    • 指定 count 时以数组形式返回结果,如果集合中的元素不足,则返回集合全部元素,最小为空数组。

    注意: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"]
    

    Parameters

    • key: string | Buffer
    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<null | Buffer>

  • 随机的从指定 set 移除并返回指定个数的 member。默认返回一个。

    这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。

    • 不指定 count 时返回单个元素,或者 null。
    • 指定 count 时以数组形式返回结果,如果集合中的元素不足,则返回集合全部元素,最小为空数组。

    注意: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"]
    

    Parameters

    • key: string | Buffer
    • count: number

      指定需要 pop 的元素个数。

    Returns Promise<string[]>

  • 随机的从指定 set 移除并返回指定个数的 member。默认返回一个。

    这个命令和 SRANDMEMBER 有些类似,区别是此命令会同时移除返回的元素。

    • 不指定 count 时返回单个元素,或者 null。
    • 指定 count 时以数组形式返回结果,如果集合中的元素不足,则返回集合全部元素,最小为空数组。

    注意: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"]
    

    Parameters

    • key: string | Buffer
    • count: number

      指定需要 pop 的元素个数。

    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<Buffer[]>

srandmember

  • srandmember(key: string | Buffer): Promise<null | string>
  • srandmember(key: string | Buffer, return_buffer: true): Promise<null | Buffer>
  • srandmember(key: string | Buffer, count: number): Promise<string[]>
  • srandmember(key: string | Buffer, count: number, return_buffer: true): Promise<Buffer[]>
  • 随机的从 set 返回指定个数的 member。默认返回一个。

    这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。

    不同参数设定方式对应的行为:

    • 不指定 count,随机返回一个元素,对于空 set 返回 null。
    • count 为正数,随机返回 count 个不重复的元素。数组形式,元素不足时返回全部元素,可能为空数组。
    • count 为负数,随机返回 |count| 个允许重复的元素。数组形式,结果和连续调用 n 次不带 count 参数的命令效果相同。

    注意: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)
    // []
    

    Parameters

    • key: string | Buffer

    Returns Promise<null | string>

  • 随机的从 set 返回指定个数的 member。默认返回一个。

    这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。

    不同参数设定方式对应的行为:

    • 不指定 count,随机返回一个元素,对于空 set 返回 null。
    • count 为正数,随机返回 count 个不重复的元素。数组形式,元素不足时返回全部元素,可能为空数组。
    • count 为负数,随机返回 |count| 个允许重复的元素。数组形式,结果和连续调用 n 次不带 count 参数的命令效果相同。

    注意: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)
    // []
    

    Parameters

    • key: string | Buffer
    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<null | Buffer>

  • 随机的从 set 返回指定个数的 member。默认返回一个。

    这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。

    不同参数设定方式对应的行为:

    • 不指定 count,随机返回一个元素,对于空 set 返回 null。
    • count 为正数,随机返回 count 个不重复的元素。数组形式,元素不足时返回全部元素,可能为空数组。
    • count 为负数,随机返回 |count| 个允许重复的元素。数组形式,结果和连续调用 n 次不带 count 参数的命令效果相同。

    注意: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)
    // []
    

    Parameters

    • key: string | Buffer
    • count: number

    Returns Promise<string[]>

  • 随机的从 set 返回指定个数的 member。默认返回一个。

    这个命令和 SPOP 有些类似,区别是此命令只返回的元素,而不修改 set。

    不同参数设定方式对应的行为:

    • 不指定 count,随机返回一个元素,对于空 set 返回 null。
    • count 为正数,随机返回 count 个不重复的元素。数组形式,元素不足时返回全部元素,可能为空数组。
    • count 为负数,随机返回 |count| 个允许重复的元素。数组形式,结果和连续调用 n 次不带 count 参数的命令效果相同。

    注意: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)
    // []
    

    Parameters

    • key: string | Buffer
    • count: number
    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<Buffer[]>

srem

  • srem(key: string | Buffer, ...members: [string | Buffer, ...(string | Buffer)[]]): Promise<number>
  • 从 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"]
    

    Parameters

    • key: string | Buffer
    • Rest ...members: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<number>

sscan

  • sscan(key: string | Buffer, cursor: string | number, options?: SScanOptions): Promise<SScanResult<string>>
  • sscan(key: string | Buffer, cursor: string | number, return_buffer: true, options?: SScanOptions): Promise<SScanResult<Buffer>>
    • Redis官方文档https://redis.io/commands/sscan
    • 起始版本:2.8.0
    • 时间复杂度:**每次调用的消耗为O(1),完整迭代一次为 O(N),包括足以使光标返回到 0 的命令调用。N 是集合内元素的数量。

    详情参见 SCAN 命令。

    Parameters

    • key: string | Buffer
    • cursor: string | number
    • Optional options: SScanOptions

    Returns Promise<SScanResult<string>>

    • Redis官方文档https://redis.io/commands/sscan
    • 起始版本:2.8.0
    • 时间复杂度:**每次调用的消耗为O(1),完整迭代一次为 O(N),包括足以使光标返回到 0 的命令调用。N 是集合内元素的数量。

    详情参见 SCAN 命令。

    category

    Set

    Parameters

    • key: string | Buffer
    • cursor: string | number
    • return_buffer: true

      以 Buffer 形式返回结果。

    • Optional options: SScanOptions

    Returns Promise<SScanResult<Buffer>>

sunion

  • sunion(...keys: [string | Buffer, ...(string | Buffer)[]]): Promise<(string | Buffer)[]>
  • 返回所有给定的一系列 set 的并集。

    • key 不存在时被认为是个空的 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"]
    

    Parameters

    • Rest ...keys: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<(string | Buffer)[]>

sunionstore

  • sunionstore(destination: string | Buffer, keys: [string | Buffer, ...(string | Buffer)[]]): Promise<number>
  • 命令行为和 SUNION 一致,区别是 SUNIONSTORE 并不返回结果,而是将结果存入 destination,并返回结果集的元素个数。

    • 如果 destination 已经存在,则会被覆盖。
    • key 不存在时被认为是个空的 set。

    例子:

    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"]
    

    Parameters

    • destination: string | Buffer
    • keys: [string | Buffer, ...(string | Buffer)[]]

    Returns Promise<number>

Generated using TypeDoc