Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RedisHashClient

Hierarchy

Index

Constructors

Connection Methods

Hash Methods

Other Methods

Server Methods

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>

    查看原始定义

Hash Methods

hdel

  • hdel(key: string | Buffer, ...fields: [string | Buffer, ...(string | Buffer)[]]): Promise<number>
  • 移除指定 key(hash 类型)的指定 field,并返回移除的 field 的个数。

    • 对于不存在的 field 会被忽略。
    • 如果 key 不存在,会被认为是个空的 hash,并且返回 0。

    注意:2.4 版本开始支持多个 field 参数,更早的版本一次命令只能移除一个 field。如果在更早的版本中希望一次移除多个 field,请使用 MULTI/EXEC 事务块。

    例子:

    await client.hset('myhash', { field1: 'foo' })
    // 1
    await client.hdel('myhash', 'field1')
    // 1
    await client.hdel('myhash', 'field1')
    // 0
    

    Parameters

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

      需要移除的 field 列表。

    Returns Promise<number>

hexists

  • hexists(key: string | Buffer, field: string | Buffer): Promise<0 | 1>
  • 返回 hash 中是否存在指定 field。

    返回值:

    • 1 表示 hash 包含指定的 field。
    • 0 表示 hash 不包含指定的 field,或者 hash 不存在。
    • 当 key 存在但是类型不是 hash 的时候,抛出异常。

    例子:

    await client.hset('myhash', { field1: 'foo' })
    // 1
    await client.hexists('myhash', 'field1')
    // 1
    await client.hexists('myhash', 'field2')
    // 0
    

    Parameters

    • key: string | Buffer
    • field: string | Buffer

    Returns Promise<0 | 1>

hget

  • hget(key: string | Buffer, field: string | Buffer): Promise<null | string>
  • hget(key: string | Buffer, field: string | Buffer, return_buffer: true): Promise<null | Buffer>
  • 返回 hash 中指定 field 的值,如果 key 不存在或者 field 不存在返回 null。

    例子:

    await client.hset('myhash', { field1: 'foo' })
    // 1
    await client.hget('myhash', 'field1')
    // "foo"
    await client.hget('myhash', 'field2')
    // null
    await client.hget('nonexists', 'field2')
    // null
    

    Parameters

    • key: string | Buffer
    • field: string | Buffer

    Returns Promise<null | string>

  • 返回 hash 中指定 field 的值,如果 key 不存在或者 field 不存在返回 null。

    例子:

    await client.hset('myhash', { field1: 'foo' })
    // 1
    await client.hget('myhash', 'field1')
    // "foo"
    await client.hget('myhash', 'field2')
    // null
    await client.hget('nonexists', 'field2')
    // null
    

    Parameters

    • key: string | Buffer
    • field: string | Buffer
    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<null | Buffer>

hgetall

  • hgetall(key: string | Buffer): Promise<{}>
  • hgetall(key: string | Buffer, return_buffer: true): Promise<{}>
  • 以 object 形式返回 hash 中的全部 field 和值。

    例子:

    await client.hset('myhash', { field1: 'foo' })
    // 1
    await client.hget('myhash', 'field1')
    // "foo"
    await client.hget('myhash', 'field2')
    // null
    await client.hget('nonexists', 'field2')
    // null
    

    Parameters

    • key: string | Buffer

    Returns Promise<{}>

  • 以 object 形式返回 hash 中的全部 field 和值。

    例子:

    await client.hset('myhash', { field1: 'foo' })
    // 1
    await client.hget('myhash', 'field1')
    // "foo"
    await client.hget('myhash', 'field2')
    // null
    await client.hget('nonexists', 'field2')
    // null
    

    Parameters

    • key: string | Buffer
    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<{}>

hincrby

  • hincrby(key: string | Buffer, field: string | Buffer, increment: number): Promise<number>
  • 对指定的 hash 中的 field 对应的值进行整型自增操作,返回自增之后的值。

    • 如果 key 不存在,会先创建一个新的包含 hash。
    • 如果 field 不存在,则在执行操作前 field 的值会被设置为 0。
    • 如果 key 对应的类型不是 hash,或者 field 对应的值不能解析为整型,则抛出异常。
    • 当 increment 参数传入一个负数时,相当于执行了自减操作。

    例子:

    await client.hset('myhash', { field1: '5' })
    // 1
    await client.hincrby('myhash', 'field1', 1)
    // 6
    await client.hincrby('myhash', 'field1', -1)
    // 5
    await client.hincrby('myhash', 'field1', -10)
    // -5
    

    Parameters

    • key: string | Buffer
    • field: string | Buffer
    • increment: number

    Returns Promise<number>

hincrbyfloat

  • hincrbyfloat(key: string | Buffer, field: string | Buffer, increment: `${number}`): Promise<`${number}`>
  • 对指定的 hash 中的 field 对应的值进行浮点数自增操作,返回自增之后的值。

    • 如果 key 不存在,会先创建一个新的包含 hash。
    • 如果 field 不存在,则在执行操作前 field 的值会被设置为 0。
    • 如果 key 对应的类型不是 hash,或者 field 对应的值不能解析为数字,则抛出异常。
    • 当 increment 参数传入一个负数时,相当于执行了自减操作。
    • increment 支持指数表示法,见 INCRBYFLOAT 命令。

    例子:

    await client.hset('mykey', { field: '10.50' })
    // 1
    await client.hincrbyfloat('mykey', 'field', '0.1')
    // "10.6"
    await client.hincrbyfloat('mykey', 'field', '-5')
    // "5.6"
    await client.hset('mykey', { field: '5.0e3' })
    // 0
    await client.hincrbyfloat('mykey', 'field', '2.0e2')
    // "5200"
    

    Parameters

    • key: string | Buffer
    • field: string | Buffer
    • increment: `${number}`

    Returns Promise<`${number}`>

hkeys

  • hkeys(key: string | Buffer): Promise<(string | Buffer)[]>
  • 返回指定 hash 的所有 field 名字。

    • 如果 key 不存在,返回空列表。

    例子:

    await client.hset('mykey', { field1: 'Hello' })
    // 1
    await client.hset('mykey', { field2: 'World' })
    // 1
    await client.hkeys('mykey')
    // ["field1", "field2"]
    

    Parameters

    • key: string | Buffer

    Returns Promise<(string | Buffer)[]>

hlen

  • hlen(key: string | Buffer): Promise<number>
  • 返回指定 hash 的 field 个数。

    • 如果 key 不存在,返回 0。

    例子:

    await client.hset('mykey', { field1: 'Hello' })
    // 1
    await client.hset('mykey', { field2: 'World' })
    // 1
    await client.hlen('mykey')
    // 2
    await client.hlen('nonexist')
    // 0
    

    Parameters

    • key: string | Buffer

    Returns Promise<number>

hmget

  • hmget(key: string | Buffer, fields: [string | Buffer, ...(string | Buffer)[]]): Promise<(null | string)[]>
  • hmget(key: string | Buffer, fields: [string | Buffer, ...(string | Buffer)[]], return_buffer: true): Promise<(null | Buffer)[]>
  • 返回指定 hash 的指定 field 值。

    • 对于每个不存在的 field 其结果为 null。
    • 对于不存在的 key,认为他是个空的 hash,此时会返回一个全是 null 的列表。

    例子:

    await client.hset('mykey', { field1: 'Hello' })
    // 1
    await client.hset('mykey', { field2: 'World' })
    // 1
    await client.hmget('mykey', ['field1', 'field2', 'nofield'])
    // ["Hello", "World", null]
    await client.hmget('nokey', ['field1', 'field2', 'nofield'])
    // [null, null, null]
    

    Parameters

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

      需要请求的 field 列表。

    Returns Promise<(null | string)[]>

  • 返回指定 hash 的指定 field 值。

    • 对于每个不存在的 field 其结果为 null。
    • 对于不存在的 key,认为他是个空的 hash,此时会返回一个全是 null 的列表。

    例子:

    await client.hset('mykey', { field1: 'Hello' })
    // 1
    await client.hset('mykey', { field2: 'World' })
    // 1
    await client.hmget('mykey', ['field1', 'field2', 'nofield'])
    // ["Hello", "World", null]
    await client.hmget('nokey', ['field1', 'field2', 'nofield'])
    // [null, null, null]
    

    Parameters

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

      需要请求的 field 列表。

    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<(null | Buffer)[]>

hmset

  • hmset(key: string | Buffer, kvs: {}): Promise<"OK">
  • 对指定 hash 设置 field/value 对,返回 OK。

    • 已经存在的 field 会被重写。
    • key 不存在的时候会创建一个新的 hash。
    • key 存在但是类型不是 hash 会抛出异常。

    注意:4.0.0 版本之后,HSET 已经实现了多组 field/value 的写入功能。
    所以此命令在之后的版本中可能被废弃,在新的代码中请使用 HSET

    例子:

    await client.hmset('mykey', { field1: 'Hello', field2: 'World' })
    // 2
    await client.hget('mykey', 'field1')
    // "Hello"
    await client.hget('mykey', 'field2')
    // "World"
    

    Parameters

    • key: string | Buffer
    • kvs: {}
      • [key: string]: string

    Returns Promise<"OK">

hscan

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

    详情参见 SCAN 命令。

    Parameters

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

    Returns Promise<HScanResult<string>>

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

    详情参见 SCAN 命令。

    category

    Hash

    Parameters

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

      以 Buffer 形式返回结果。

    • Optional options: HScanOptions

    Returns Promise<HScanResult<Buffer>>

hset

  • hset(key: string | Buffer, kvs: {}): Promise<0 | 1>
    • Redis官方文档https://redis.io/commands/hset
    • 起始版本:2.0.0
    • 时间复杂度:O(1) 对于每一对 field/value。所以 N 对 field/value 的复杂度为 O(N)。

    将指定 hash 中的 field 设置为 value。如果 key 不存在,会创建一个新的 hash。如果 field 已经存在,它的值会被重写。

    返回添加的 field 的个数。
    被修改的 field 不被计算在内。

    注意:在 4.0.0 版本开始,HSET 可以接受多组 field/value。更早的版本中,只能传递一对 field/value。

    例子:

    await client.hset('myhash', { field1: 'Hello' })
    // 1
    await client.hget('myhash', 'field1')
    // "Hello"
    

    Parameters

    • key: string | Buffer
    • kvs: {}

    Returns Promise<0 | 1>

hsetnx

  • hsetnx(key: string | Buffer, field: string | Buffer, value: string | Buffer): Promise<0 | 1>
  • 将指定 hash 中的 field 不存在时,将其设置为 value。
    如果 field 存在操作没有任何影响。
    如果 key 的类型不是 hash,会抛出异常。

    • 1 当 field 不存在并且设置了新的 field。
    • 0 当 field 已经存在,未执行任何操作。

    例子:

    await client.hsetnx('myhash', 'field', 'Hello' )
    // 1
    await client.hsetnx('myhash', 'field', 'World' )
    // 0
    await client.hget('myhash', 'field' )
    // "Hello"
    

    Parameters

    • key: string | Buffer
    • field: string | Buffer
    • value: string | Buffer

    Returns Promise<0 | 1>

hstrlen

  • hstrlen(key: string | Buffer, field: string | Buffer): Promise<number>
  • 返回 hash 中指定 field 的值的长度。如果 key 不存在或者 field 不存在,返回 0。

    例子:

    await client.hset('myhash', { f1: 'HelloWorld', f2: '99', f3: '-256' })
    // 3
    await client.hstrlen('myhash', 'f1')
    // 10
    await client.hstrlen('myhash', 'f2')
    // 2
    await client.hstrlen('myhash', 'f3')
    // 4
    

    Parameters

    • key: string | Buffer
    • field: string | Buffer

    Returns Promise<number>

hvals

  • hvals(key: string | Buffer): Promise<string[]>
  • hvals(key: string | Buffer, return_buffer: true): Promise<Buffer[]>
  • 以数组形式返回指定 hash 中全部的值。当 key 不存在时返回空数组。

    例子:

    await client.hset('myhash', { f1: 'Hello' })
    // 1
    await client.hset('myhash', { f2: 'World' })
    // 1
    await client.hvals('myhash')
    // ["Hello", "World"]
    

    Parameters

    • key: string | Buffer

    Returns Promise<string[]>

  • 以数组形式返回指定 hash 中全部的值。当 key 不存在时返回空数组。

    例子:

    await client.hset('myhash', { f1: 'Hello' })
    // 1
    await client.hset('myhash', { f2: 'World' })
    // 1
    await client.hvals('myhash')
    // ["Hello", "World"]
    

    Parameters

    • key: string | Buffer
    • return_buffer: true

      以 Buffer 形式返回结果。

    Returns Promise<Buffer[]>

Other Methods

on

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

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

          • Rest ...args: any[]

          Returns void

    Returns RedisHashClient

once

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

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

          • Rest ...args: any[]

          Returns void

    Returns RedisHashClient

Server Methods

info

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

Generated using TypeDoc