Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface RedisClient

RedisClient Redis 客户端

参考自 [Redis Doc](http://redisdoc.com/)

## 字符串相关
- [x] SET: 通过 {@link StringClient.setEx}
- [ ] SETNX
- [ ] SETEX
- [ ] PSETEX
- [x] GET
- [x] GETSET
- [x] STRLEN
- [x] APPEND
- [ ] SETRANGE
- [ ] GETRANGE
- [x] INCR
- [x] INCRBY
- [ ] INCRBYFLOAT
- [x] DECR
- [x] DECRBY
- [ ] MSET
- [ ] MSETNX
- [ ] MGET

## 哈希表
- [x] HSET
- [x] HSETNX
- [x] HGET
- [x] HEXISTS
- [x] HDEL
- [x] HLEN
- [x] HSTRLEN
- [x] HINCRBY
- [ ] HINCRBYFLOAT
- [x] HMSET
- [x] HMGET
- [x] HKEYS
- [x] HVALS
- [x] HGETALL
- [x] HSCAN

## 列表
- [x] LPUSH
- [x] LPUSHX
- [x] RPUSH
- [x] RPUSHX
- [x] LPOP
- [x] RPOP
- [x] RPOPLPUSH
- [x] LREM
- [x] LLEN
- [x] LINDEX
- [x] LINSERT
- [x] LSET
- [x] LRANGE
- [x] LTRIM
- [ ] BLPOP: 暂不提供阻塞式的命令
- [ ] BRPOP: 暂不提供阻塞式的命令
- [ ] BRPOPLPUSH: 暂不提供阻塞式的命令

## 集合
- [x] SADD
- [x] SISMEMBER
- [x] SPOP
- [x] SRANDMEMBER
- [x] SREM
- [x] SMOVE
- [x] SCARD
- [x] SMEMBERS
- [x] SSCAN
- [x] SINTER
- [x] SINTERSTORE
- [x] SUNION
- [x] SUNIONSTORE
- [x] SDIFF
- [x] SDIFFSTORE

## 有序集合
- [x] ZADD
- [x] ZSCORE
- [x] ZINCRBY
- [x] ZCARD
- [x] ZCOUNT
- [x] ZRANGE
- [x] ZREVRANGE
- [x] ZRANGEBYSCORE
- [x] ZREVRANGEBYSCORE
- [x] ZRANK
- [x] ZREVRANK
- [x] ZREM
- [x] ZREMRANGEBYRANK
- [x] ZREMRANGEBYSCORE
- [ ] ZRANGEBYLEX
- [ ] ZLEXCOUNT
- [ ] ZREMRANGEBYLEX
- [x] ZSCAN
- [ ] ZUNIONSTORE
- [ ] ZINTERSTORE

## 数据库
- [x] EXISTS
- [ ] TYPE
- [ ] RENAME
- [ ] RENAMENX
- [ ] MOVE
- [x] DEL: 之前只支持删除一个,现在改成多个,且返回被删除的key的个数。
- [ ] RANDOMKEY
- [ ] DBSIZE
- [ ] KEYS
- [ ] SCAN
- [ ] SORT
- [ ] FLUSHDB
- [ ] FLUSHALL
- [ ] SELECT
- [ ] SWAPDB

## 自动过期
- [x] EXPIRE
- [ ] EXPIREAT
- [x] TTL
- [ ] PERSIST
- [ ] PEXPIRE
- [ ] PEXPIREAT
- [ ] PTTL

由于脚本引擎的特性,会将实参类型隐式转换成兼容的入参类型,因此引擎在执行过程中可以接受非严格匹配的类型,

如 string 类型的入参可以接受 number 类型的实参, 但该行为是不可靠的,请按照方法签名指定的类型来传参。

Hierarchy

Index

Methods

append

  • append(key: string, value: string): number
  • 如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。

    如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。

    Parameters

    • key: string
    • value: string

    Returns number

decr

  • decr(key: string): number
  • 为键 key 储存的数字值减去一。

    Parameters

    • key: string

      键值

    Returns number

decrBy

  • decrBy(key: string, decrement: number): any
  • 将键 key 储存的整数值减去减量 decrement 。

    Parameters

    • key: string

      键值

    • decrement: number

      必须是正整数

    Returns any

del

  • del(...keys: string[]): number
  • 删除给定的一个或多个 key

    Parameters

    • Rest ...keys: string[]

      待删除的键值列表

    Returns number

exists

  • exists(key: string): boolean
  • 检查给定 key 是否存在。

    存在返回 true, 失败返回 false

    Parameters

    • key: string

      键值

    Returns boolean

expire

  • expire(key: string, seconds: number): number
  • 为给定 key 设置生存时间,当 key 过期时(生存时间为 0 ),它会被自动删除。

    可以对一个已经带有生存时间的 key 执行 EXPIRE 命令,新指定的生存时间会取代旧的生存时间。

    设置成功返回 1 。 当 key 不存在或者不能为 key 设置生存时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的生存时间),返回 0 。

    Parameters

    • key: string

      键值

    • seconds: number

      生存时间(秒)

    Returns number

get

  • get(key: string): string
  • 返回与键 key 相关联的字符串值。

    Parameters

    • key: string

      键值

    Returns string

getset

  • getset(key: string, value: string): string
  • 将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。

    返回给定键 key 的旧值。

    如果键 key 没有旧值, 也即是说, 键 key 在被设置之前并不存在, 那么命令返回 nil 。

    Parameters

    • key: string
    • value: string

    Returns string

hdel

  • hdel(key: string, ...fields: string[]): number
  • 删除哈希表 key 中的一个或多个指定域,不存在的域将被忽略

    Parameters

    • key: string

      哈希表

    • Rest ...fields: string[]

      域列表

    Returns number

    被成功移除的域的数量,不包括被忽略的域

hexists

  • hexists(key: string, field: string): number
  • 检查给定域 field 是否存在于哈希表 hash 当中

    Parameters

    • key: string

      哈希表

    • field: string

    Returns number

    给定域存在时返回 1 , 在给定域不存在时返回 0

hget

  • hget(key: string, field: string): string
  • 返回哈希表中给定域的值。

    Parameters

    • key: string

      哈希表

    • field: string

    Returns string

    如果存在则返回值,不存在则返回空字符串

hgetAll

  • 返回哈希表 key 中,所有的域和值。

    Parameters

    • key: string

      哈希表

    Returns StringDict

    键值对

hincrby

  • hincrby(key: string, field: string, increment: number): number
  • 为哈希表 key 中的域 field 的值加上增量 increment

    Parameters

    • key: string

      哈希表, 如果 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令

    • field: string

      域,如果域 field 不存在,那么在执行命令前,域的值被初始化为 0。 如果存在且值是字符串的, 则抛异常

    • increment: number

      增量,可为负数,本操作的值被限制在 64 位(bit)有符号数字表示之内

    Returns number

    执行 HINCRBY 命令之后,哈希表 key 中域 field 的值

hkeys

  • hkeys(key: string): string[]
  • 返回哈希表 key 中的所有域。

    Parameters

    • key: string

      哈希表

    Returns string[]

    一个包含哈希表中所有域的表。 当 key 不存在时,返回一个空表。

hlen

  • hlen(key: string): number
  • 返回哈希表 key 中域的数量。

    Parameters

    • key: string

      哈希表

    Returns number

    哈希表中域的数量。 当 key 不存在时,返回 0 。

hmget

  • hmget(key: string, ...fields: string[]): string[]
  • 返回哈希表 key 中,一个或多个给定域的值。

    Parameters

    • key: string

      哈希表

    • Rest ...fields: string[]

      域列表

    Returns string[]

    一个包含多个给定域的关联值的表,表值的排列顺序和给定域参数的请求顺序一样。

hmset

  • 同时将多个 field-value (域-值)对设置到哈希表 key 中。 此命令会覆盖哈希表中已存在的域。

    Parameters

    • key: string

      哈希表,如果 key 不存在,一个空哈希表被创建并执行 HMSET 操作

    • map: StringDict

      必须是<string, string>键值对

    Returns string

    如果命令执行成功,返回 OK。 当 key 不是哈希表(hash)类型时,返回一个错误

hscan

  • 哈希表的增量式迭代命令, 用于增量地迭代一个哈希表上的元素。

    example
    import * as redis from 'redis';
    
    let cli = redis.newClient("test");
    let key = "hash_test_scan_1";
    
    // 预置数据用于测试
    // for (let i = 0; i < 2000; i++) {
    //     cli.hset(key, `F:${i}`, `VBCCCCC_${i}`);
    // }
    
    // console.log(cli.hmset(key, { A: "A", B: "B", C: "C2", D: "D2" }));
    console.log("no option", cli.hscan(key, 0));
    console.log("empty option", cli.hscan(key, 0, {}));
    console.log("count 5", cli.hscan(key, 0, { match: "F:1*", count: 5 }));
    
    
    // scan all
    let pattern = "F:1*";
    let count = 100;
    
    console.log("scan all with iteration ", hscan(key, count, pattern));
    console.log("scan all with iteration ", hscan(key, 50, pattern));
    
    function hscan(key: string, count: number, pattern: string): number {
        let cursor = 0;
        let iter = 1;
        let m = {}
        while (true) {
            console.log("iteration ", iter, "cursor ", cursor);
            let res = cli.hscan(key, cursor, { match: pattern, count: count });
            // 仅用于检查是否会出现重复,按cursor迭代不会出现重复。
            for (let k in res.hash) {
                if (m[k]) {
                    throw new Error(`duplicated hash field ${k}`);
                }
                m[k] = res.hash[k];
                console.log(k, " => ", res.hash[k]);
            }
            // 如果 cursor 为 0 代表已经遍历完了整个数据集
            if (res.cursor == 0) {
                // console.log("end with iteration ", iter);
                console.log("all fields ", Object.keys(m).length)
                return iter;
            }
            iter++;
            cursor = res.cursor;
        }
    }
    
    

    Parameters

    • key: string

      哈希表

    • cursor: number

      起始游标

    • Optional opt: ScanOption

      scan 可选参数

    Returns HScanResult

hset

  • hset(key: string, field: string, value: string): number
  • 将哈希表 hash 中域 field 的值设置为 value

    Parameters

    • key: string

      哈希表

    • field: string

    • value: string

      字段值, 如果值为null或者undefined,设置成空字符串

    Returns number

    当 HSET 命令在哈希表中新创建 field 域并成功为它设置值时, 命令返回 1 ; 如果域 field 已经存在于哈希表, 并且 HSET 命令成功使用新值覆盖了它的旧值, 那么命令返回 0 。

hsetnx

  • hsetnx(key: string, field: string, value: string): number
  • 当且仅当域 field 尚未存在于哈希表的情况下, 将它的值设置为 value

    Parameters

    • key: string

      哈希表

    • field: string

    • value: string

      字段值

    Returns number

    HSETNX 命令在设置成功时返回 1 , 在给定域已经存在而放弃执行设置操作时返回 0

hstrlen

  • hstrlen(key: string, field: string): number
  • 返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度(string length)

    Parameters

    • key: string

      哈希表

    • field: string

    Returns number

    如果给定的键或者域不存在, 那么命令返回 0

hvals

  • hvals(key: string): string[]
  • 返回哈希表 key 中所有域的值。

    Parameters

    • key: string

      哈希表

    Returns string[]

    一个包含哈希表中所有值的表。 当 key 不存在时,返回一个空表。

incr

  • incr(key: string): number
  • 为键 key 储存的数字值加上 1

    Parameters

    • key: string

      键值

    Returns number

incrBy

  • incrBy(key: string, increment: number): number
  • 为键 key 储存的数字值加上增量 increment

    Parameters

    • key: string

      键值

    • increment: number

      必须是正整数

    Returns number

lindex

  • lindex(key: string, index: number): string
  • 返回列表 key 中,下标为 index 的元素。

    下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

    你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

    如果 key 不是列表类型,返回一个错误。

    返回列表中下标为 index 的元素。 如果 index 参数的值不在列表的区间范围内(out of range),返回 nil

    Parameters

    • key: string
    • index: number

    Returns string

linsert

  • linsert(key: string, pos: Position, pivot: string, value: string): number
  • 将值 value 插入到列表 key 当中,位于值 pivot 之前或之后。

    当 pivot 不存在于列表 key 时,不执行任何操作。

    当 key 不存在时, key 被视为空列表,不执行任何操作。

    如果命令执行成功,返回插入操作完成之后,列表的长度。 如果没有找到 pivot ,返回 -1 。 如果 key 不存在或为空列表,返回 0

    Parameters

    • key: string
    • pos: Position
    • pivot: string
    • value: string

    Returns number

llen

  • llen(key: string): number
  • 返回列表 key 的长度。

    如果 key 不存在,则 key 被解释为一个空列表,返回 0 .

    如果 key 不是列表类型,返回一个错误。

    Parameters

    • key: string

    Returns number

lpop

  • lpop(key: string): string
  • 移除并返回列表 key 的头元素。

    列表的头元素。 当 key 不存在时,返回 nil 。

    Parameters

    • key: string

    Returns string

lpush

  • lpush(key: string, ...values: string[]): number
  • 将一个或多个值 value 插入到列表 key 的表头

    如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作

    返回执行 LPUSH 命令后,列表的长度。

    Parameters

    • key: string

    • Rest ...values: string[]

      值列表

    Returns number

lpushx

  • lpushx(key: string, value: string): number
  • 将值 value 插入到列表 key 的表头,当且仅当 key 存在并且是一个列表。

    lpush 命令相反,当 key 不存在时, LPUSHX 命令什么也不做

    返回 LPUSHX 命令执行之后,表的长度。

    Parameters

    • key: string

    • value: string

    Returns number

lrange

  • lrange(key: string, start: number, stop: number): string[]
  • 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。

    下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

    返回一个列表,包含指定区间内的元素。

    Parameters

    • key: string
    • start: number
    • stop: number

    Returns string[]

lrem

  • lrem(key: string, count: number, value: string): number
  • 根据参数 count 的值,移除列表中与参数 value 相等的元素 count 的值可以是以下几种:

    1. count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
    1. count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。

    2. count = 0 : 移除表中所有与 value 相等的值。

    返回被移除元素的数量。 因为不存在的 key 被视作空表(empty list),所以当 key 不存在时, LREM 命令总是返回 0 。

    Parameters

    • key: string
    • count: number
    • value: string

    Returns number

lset

  • lset(key: string, index: number, value: string): number
  • 将列表 key 下标为 index 的元素的值设置为 value 。

    当 index 参数超出范围,或对一个空列表( key 不存在)进行 LSET 时,返回一个错误。

    操作成功返回 ok ,否则返回错误信息。

    Parameters

    • key: string
    • index: number
    • value: string

    Returns number

ltrim

  • ltrim(key: string, start: number, stop: number): string[]
  • 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。

    下标(index)参数 start 和 stop 都以 0 为底,也就是说,以 0 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。

    命令执行成功时,返回 ok

    Parameters

    • key: string
    • start: number
    • stop: number

    Returns string[]

rpop

  • rpop(key: string): string
  • 移除并返回列表 key 的尾元素。

    返回列表的尾元素。 当 key 不存在时,返回 nil 。

    Parameters

    • key: string

    Returns string

rpoplpush

  • rpoplpush(source: string, destination: string): string
  • 命令 RPOPLPUSH 在一个原子时间内,执行以下两个动作:

    1. 将列表 source 中的最后一个元素(尾元素)弹出,并返回给客户端。
    2. 将 source 弹出的元素插入到列表 destination ,作为 destination 列表的的头元素。

    如果 source 不存在,值 nil 被返回,并且不执行其他动作。

    如果 source 和 destination 相同,则列表中的表尾元素被移动到表头,并返回该元素,可以把这种特殊情况视作列表的旋转(rotation)操作。

    注意, 如果redis是集群模式的,source 与 destination 必须是同一个分片下的。 可以通过添加花括号的方式, 如{key}1 {key}2 模式来的保证。

    返回被弹出的元素

    Parameters

    • source: string
    • destination: string

    Returns string

rpush

  • rpush(key: string, ...values: string[]): number
  • 将一个或多个值 value 插入到列表 key 的表尾(最右边)。

    如果 key 不存在,一个空列表会被创建并执行 RPUSH 操作。

    返回执行 RPUSH 操作后,表的长度。

    Parameters

    • key: string

    • Rest ...values: string[]

      值列表

    Returns number

rpushx

  • rpushx(key: string, value: string): number
  • 将值 value 插入到列表 key 的表尾,当且仅当 key 存在并且是一个列表。

    rpush命令相反,当 key 不存在时, RPUSHX 命令什么也不做。

    返回 RPUSHX 命令执行之后,表的长度

    Parameters

    • key: string
    • value: string

    Returns number

sadd

  • sadd(key: string, ...members: string[]): number
  • 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略

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

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

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

    Parameters

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

    Returns number

scard

  • scard(key: string): number
  • 返回集合 key 的基数(集合中元素的数量)。

    Parameters

    • key: string

    Returns number

sdiff

  • sdiff(...keys: string[]): string[]
  • 返回一个集合的全部成员,该集合是所有给定集合之间的差集。

    Parameters

    • Rest ...keys: string[]

    Returns string[]

sdiffstore

  • sdiffstore(destination: string, ...keys: string[]): number
  • 这个命令的作用和 sdiff类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

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

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

    Parameters

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

    Returns number

set

  • set(key: string, value: string, expireInSeconds: number): boolean
  • set(key: string, value: string, opt?: SetOption): string
  • 将字符串值 value 关联到 key

    Parameters

    • key: string

    • value: string

    • expireInSeconds: number

      超时时间,如果为0表示永不超时

    Returns boolean

  • 将字符串值 value 关联到 key

    只在设置操作成功完成时才返回 OK ; 如果命令使用了 NX 或者 XX 选项, 但是因为条件没达到而造成设置操作未执行, 那么命令将返回空批量回复

    Parameters

    • key: string

    • value: string

    • Optional opt: SetOption

      可选参数,参考 {@link setOption}

    Returns string

sinter

  • sinter(...keys: string[]): string[]
  • 返回一个集合的全部成员,该集合是所有给定集合的交集

    Parameters

    • Rest ...keys: string[]

    Returns string[]

sinterstore

  • sinterstore(destination: string, ...keys: string[]): number
  • 这个命令类似于 sinter命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

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

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

    Parameters

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

    Returns number

sismember

  • sismember(key: string, member: string): number
  • 判断 member 元素是否集合 key 的成员。

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

    Parameters

    • key: string
    • member: string

    Returns number

smembers

  • smembers(key: string): string[]
  • 返回集合 key 中的所有成员。

    Parameters

    • key: string

    Returns string[]

smove

  • smove(source: string, destination: string, member: string): 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 必须在同一个分片上。

    Parameters

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

    Returns number

spop

  • spop(key: string): string
  • 移除并返回集合中的一个随机元素。

    Parameters

    • key: string

    Returns string

srandmember

  • srandmember(key: string, count: number): string[]
  • 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。

    count 参数:

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

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

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

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

    Parameters

    • key: string
    • count: number

    Returns string[]

srem

  • srem(key: string, ...members: string[]): number
  • 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。

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

    Parameters

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

    Returns number

sscan

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

    Parameters

    • key: string

      集合

    • cursor: number

      起始游标

    • Optional opt: ScanOption

      scan 可选参数

    Returns SScanResult

strlen

  • strlen(key: string): number
  • 返回键 key 储存的字符串值的长度。

    Parameters

    • key: string

    Returns number

sunion

  • sunion(...keys: string[]): string[]
  • 返回一个集合的全部成员,该集合是所有给定集合的并集。

    Parameters

    • Rest ...keys: string[]

    Returns string[]

sunionstore

  • sunionstore(destination: string, ...keys: string[]): number
  • 这个命令类似于 sunion 命令,但它将结果保存到 destination 集合,而不是简单地返回结果集。

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

    返回结果集中的元素数量

    Parameters

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

    Returns number

ttl

  • ttl(key: string): number
  • 以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。

    当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。

    Parameters

    • key: string

      键值

    Returns number

zadd

  • 将一个或多个 member 元素及其 score 值加入到有序集 key 当中

    返回被成功添加的新成员的数量,不包括那些被更新的、已经存在的成员。

    Parameters

    • key: string

      键值

    • map: StringDict

      <score,member>键值对, 即key为score,value是member

    Returns number

zaddPair

zcard

  • zcard(key: string): number
  • 返回有序集 key 的基数

    Parameters

    • key: string

      键值

    Returns number

zcount

  • zcount(key: string, min: string, max: string): number
  • 返回有序集 key 中, score 值在 min 和 max 之间(默认包括 score 值等于 min 或 max )的成员的数量.

    Parameters

    • key: string

      键值

    • min: string

      最小值

    • max: string

      最大值

    Returns number

zincrby

  • zincrby(key: string, increment: string, member: string): string
  • 为有序集 key 的成员 member 的 score 值加上增量 increment

    member 成员的新 score 值,以字符串形式表示

    Parameters

    • key: string

      键值

    • increment: string

      增量, 可以是负数值

    • member: string

      成员

    Returns string

zrange

  • zrange(key: string, start: string, stop: string): string[]
  • zrange(key: string, start: string, stop: string, opt?: SortedSetRangeOption): string[]
  • 返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递增(从小到大)来排序。 具有相同 score 值的成员按字典序(lexicographical order )来排列。

    下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。

    Parameters

    • key: string

      键值

    • start: string

      起始位置

    • stop: string

      结束位置

    Returns string[]

  • 返回有序集 key 中,指定区间内的成员。 其中成员的位置按 score 值递增(从小到大)来排序。 具有相同 score 值的成员按字典序(lexicographical order )来排列。

    下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。

    Parameters

    Returns string[]

zrangebyscore

  • zrangebyscore(key: string, min: string, max: string, option?: RangeByScoreOption): string[]
  • 返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。 有序集成员按 score 值递增(从小到大)次序排列

    min 和 max 可以是 -inf 和 +inf ,这样一来,你就可以在不知道有序集的最低和最高 score 值的情况下,使用 ZRANGEBYSCORE 这类命令。

    默认情况下,区间的取值使用闭区间 (小于等于或大于等于),你也可以通过给参数前增加 ( 符号来使用可选的开区间 (小于或大于)。

    example
    import * as redis from 'redis';
    
    let cli = redis.newClient("test");
    
    console.log(cli.zrangebysocre("test_key", "(1", "5"));
    
    

    Parameters

    Returns string[]

zrank

  • zrank(key: string, member: string): number
  • 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递增(从小到大)顺序排列。 排名以 0 为底,也就是说, score 值最小的成员排名为 0 。

    如果 member 是有序集 key 的成员,返回 member 的排名。 如果 member 不是有序集 key 的成员,返回 nil

    Parameters

    • key: string

      键值

    • member: string

      成员

    Returns number

zrem

  • zrem(key: string, ...members: string[]): number
  • 移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。

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

    Parameters

    • key: string

      键值

    • Rest ...members: string[]

      成员列表

    Returns number

zremrangebyrank

  • zremrangebyrank(key: string, start: string, stop: string): number
  • zremrangebyrank(key: string, start: string, stop: string): number
  • 移除有序集 key 中,指定排名(rank)区间内的所有成员。 区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。 下标参数 start 和 stop 都以 0 为底,也就是说,以 0 表示有序集第一个成员,以 1 表示有序集第二个成员,以此类推。 你也可以使用负数下标,以 -1 表示最后一个成员, -2 表示倒数第二个成员,以此类推。

    返回被移除成员的数量

    Parameters

    • key: string

      键值

    • start: string

      起始位置

    • stop: string

      结束位置

    Returns number

  • 移除有序集 key 中,指定排名(rank)区间内的所有成员。 区间分别以下标参数 start 和 stop 指出,包含 start 和 stop 在内。

    返回被移除成员的数量。

    Parameters

    • key: string

      键值

    • start: string

      其实位置

    • stop: string

      结束位置

    Returns number

zremrangebyscore

  • zremrangebyscore(key: string, min: string, max: string): number
  • 移除有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于 min 或 max )的成员。

    返回被移除成员的数量

    Parameters

    • key: string

      键值

    • min: string

      最小值

    • max: string

      最大值

    Returns number

zrevrange

  • zrevrange(key: string, start: string, stop: string): string[]
  • zrevrange(key: string, start: string, stop: string, opt?: SortedSetRangeOption): string[]
  • 返回有序集 key 中,指定区间内的成员 其中成员的位置按 score 值递减(从大到小)来排列。 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。

    Parameters

    • key: string

      键值

    • start: string

      其实位置

    • stop: string

      结束位置

    Returns string[]

  • 返回有序集 key 中,指定区间内的成员 其中成员的位置按 score 值递减(从大到小)来排列。 具有相同 score 值的成员按字典序的逆序(reverse lexicographical order)排列。

    Parameters

    Returns string[]

zrevrangebyscore

  • zrevrangebyscore(key: string, max: string, min: string, option?: RangeByScoreOption): string[]
  • 返回有序集 key 中, score 值介于 max 和 min 之间(默认包括等于 max 或 min )的所有的成员。 有序集成员按 score 值递减(从大到小)的次序排列。

    Parameters

    Returns string[]

zrevrank

  • zrevrank(key: string, member: string): number
  • 返回有序集 key 中成员 member 的排名。其中有序集成员按 score 值递减(从大到小)排序。 排名以 0 为底,也就是说, score 值最大的成员排名为 0 。

    如果 member 是有序集 key 的成员,返回 member 的排名。 如果 member 不是有序集 key 的成员,返回 nil

    Parameters

    • key: string

      键值

    • member: string

      成员

    Returns number

zscan

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

    Parameters

    • key: string

      有序集合

    • cursor: number

      起始游标

    • Optional opt: ScanOption

      scan 可选参数

    Returns ZScanResult

zscore

  • zscore(key: string, member: string): string
  • 返回有序集 key 中,成员 member 的 score 值。 如果 member 元素不是有序集 key 的成员,或 key 不存在,则报错

    Parameters

    • key: string

      键值

    • member: string

      成员

    Returns string