集合

interface SetClient {
    sadd: ((key, ...members) => number);
    scard: ((key) => number);
    sdiff: ((...keys) => string[]);
    sdiffstore: ((destination, ...keys) => number);
    sinter: ((...keys) => string[]);
    sinterstore: ((destination, ...keys) => number);
    sismember: ((key, member) => number);
    smembers: ((key) => string[]);
    smove: ((source, destination, member) => number);
    spop: ((key) => string);
    srandmember: ((key, count) => string[]);
    srem: ((key, ...members) => number);
    sscan: ((key, cursor, opt?) => SScanResult);
    sunion: ((...keys) => string[]);
    sunionstore: ((destination, ...keys) => number);
}

Hierarchy (view full)

Properties

sadd: ((key, ...members) => number)

将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略

假如 key 不存在,则创建一个只包含 member 元素作成员的集合。

当 key 不是集合类型时,返回一个错误。

返回被添加到集合中的新元素的数量,不包括被忽略的元素。

Type declaration

    • (key, ...members): number
    • Parameters

      • key: string
      • Rest ...members: string[]

      Returns number

scard: ((key) => number)

返回集合 key 的基数(集合中元素的数量)。

Type declaration

    • (key): number
    • Parameters

      • key: string

      Returns number

sdiff: ((...keys) => string[])

返回一个集合的全部成员,该集合是所有给定集合之间的差集。

Type declaration

    • (...keys): string[]
    • Parameters

      • Rest ...keys: string[]

      Returns string[]

sdiffstore: ((destination, ...keys) => number)

这个命令的作用和 sdiff类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

如果 destination 集合已经存在,则将其覆盖。

返回结果集中的元素数量。

Type declaration

    • (destination, ...keys): number
    • Parameters

      • destination: string
      • Rest ...keys: string[]

      Returns number

sinter: ((...keys) => string[])

返回一个集合的全部成员,该集合是所有给定集合的交集

Type declaration

    • (...keys): string[]
    • Parameters

      • Rest ...keys: string[]

      Returns string[]

sinterstore: ((destination, ...keys) => number)

这个命令类似于 sinter命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

如果 destination 集合已经存在,则将其覆盖。

返回结果集中的成员数量。

Type declaration

    • (destination, ...keys): number
    • Parameters

      • destination: string
      • Rest ...keys: string[]

      Returns number

sismember: ((key, member) => number)

判断 member 元素是否集合 key 的成员。

如果 member 元素是集合的成员,返回 1 。 如果 member 元素不是集合的成员,或 key 不存在,返回 0 。

Type declaration

    • (key, member): number
    • Parameters

      • key: string
      • member: string

      Returns number

smembers: ((key) => string[])

返回集合 key 中的所有成员。

Type declaration

    • (key): string[]
    • Parameters

      • key: string

      Returns string[]

smove: ((source, destination, member) => number)

将 member 元素从 source 集合移动到 destination 集合, SMOVE 是一个原子操作。

如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。 否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。

当 destination 集合已经包含 member 元素时, SMOVE 命令只是简单地将 source 集合中的 member 元素删除。

如果 member 元素被成功移除,返回 1 。 如果 member 元素不是 source 集合的成员,并且没有任何操作对 destination 集合执行,那么返回 0 。

注意如果是 redis 集群的话, source 与 destination 必须在同一个分片上。

Type declaration

    • (source, destination, member): number
    • Parameters

      • source: string
      • destination: string
      • member: string

      Returns number

spop: ((key) => string)

移除并返回集合中的一个随机元素。

Type declaration

    • (key): string
    • Parameters

      • key: string

      Returns string

srandmember: ((key, count) => string[])

如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。

count 参数:

如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。

如果 count 大于等于集合基数,那么返回整个集合。

如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。

如果集合为空,返回空数组。

Type declaration

    • (key, count): string[]
    • Parameters

      • key: string
      • count: number

      Returns string[]

srem: ((key, ...members) => number)

移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。

返回被成功移除的元素的数量,不包括被忽略的元素。

Type declaration

    • (key, ...members): number
    • Parameters

      • key: string
      • Rest ...members: string[]

      Returns number

sscan: ((key, cursor, opt?) => SScanResult)

集合的增量式迭代命令, 用于增量地迭代一个集合上的元素。

Type declaration

sunion: ((...keys) => string[])

返回一个集合的全部成员,该集合是所有给定集合的并集。

Type declaration

    • (...keys): string[]
    • Parameters

      • Rest ...keys: string[]

      Returns string[]

sunionstore: ((destination, ...keys) => number)

这个命令类似于 sunion 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

如果 destination 集合已经存在,则将其覆盖。

返回结果集中的元素数量

Type declaration

    • (destination, ...keys): number
    • Parameters

      • destination: string
      • Rest ...keys: string[]

      Returns number