- 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/hdel
- 起始版本:2.0.0
- 时间复杂度:O(N) N 为待删除的 field 个数。
移除指定 key(hash 类型)的指定 field,并返回移除的 field 的个数。
注意: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
需要移除的 field 列表。
- Redis官方文档:https://redis.io/commands/hexists
- 起始版本:2.0.0
- 时间复杂度:O(1)
返回 hash 中是否存在指定 field。
返回值:
1
表示 hash 包含指定的 field。0
表示 hash 不包含指定的 field,或者 hash 不存在。例子:
await client.hset('myhash', { field1: 'foo' })
// 1
await client.hexists('myhash', 'field1')
// 1
await client.hexists('myhash', 'field2')
// 0
- Redis官方文档:https://redis.io/commands/hget
- 起始版本:2.0.0
- 时间复杂度:O(1)
返回 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
- Redis官方文档:https://redis.io/commands/hget
- 起始版本:2.0.0
- 时间复杂度:O(1)
返回 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
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/hgetall
- 起始版本:2.0.0
- 时间复杂度:O(N) N 是 hash 的大小。
以 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
- Redis官方文档:https://redis.io/commands/hgetall
- 起始版本:2.0.0
- 时间复杂度:O(N) N 是 hash 的大小。
以 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
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/hincrby
- 起始版本:2.0.0
- 时间复杂度:O(1)
对指定的 hash 中的 field 对应的值进行整型自增操作,返回自增之后的值。
例子:
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
- Redis官方文档:https://redis.io/commands/hincrby
- 起始版本:2.6.0
- 时间复杂度:O(1)
对指定的 hash 中的 field 对应的值进行浮点数自增操作,返回自增之后的值。
例子:
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"
- Redis官方文档:https://redis.io/commands/hkeys
- 起始版本:2.0.0
- 时间复杂度:O(N) N 为 hash 的大小。
返回指定 hash 的所有 field 名字。
例子:
await client.hset('mykey', { field1: 'Hello' })
// 1
await client.hset('mykey', { field2: 'World' })
// 1
await client.hkeys('mykey')
// ["field1", "field2"]
- Redis官方文档:https://redis.io/commands/hlen
- 起始版本:2.0.0
- 时间复杂度:O(1)
返回指定 hash 的 field 个数。
例子:
await client.hset('mykey', { field1: 'Hello' })
// 1
await client.hset('mykey', { field2: 'World' })
// 1
await client.hlen('mykey')
// 2
await client.hlen('nonexist')
// 0
- Redis官方文档:https://redis.io/commands/hmget
- 起始版本:2.0.0
- 时间复杂度:O(N) N 是请求的 field 个数。
返回指定 hash 的指定 field 值。
例子:
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]
需要请求的 field 列表。
- Redis官方文档:https://redis.io/commands/hmget
- 起始版本:2.0.0
- 时间复杂度:O(N) N 是请求的 field 个数。
返回指定 hash 的指定 field 值。
例子:
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]
需要请求的 field 列表。
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/hmset
- 起始版本:2.0.0
- 时间复杂度:O(N) N 是需要设置的 field 个数。
对指定 hash 设置 field/value 对,返回 OK。
注意: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"
- Redis官方文档:https://redis.io/commands/hscan
- 起始版本:2.8.0
- 时间复杂度:**每次调用的消耗为O(1),完整迭代一次为 O(N),包括足以使光标返回到 0 的命令调用。N 是集合内元素的数量。
详情参见 SCAN 命令。
- Redis官方文档:https://redis.io/commands/hscan
- 起始版本:2.8.0
- 时间复杂度:**每次调用的消耗为O(1),完整迭代一次为 O(N),包括足以使光标返回到 0 的命令调用。N 是集合内元素的数量。
详情参见 SCAN 命令。
以 Buffer 形式返回结果。
- 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"
- Redis官方文档:https://redis.io/commands/hsetnx
- 起始版本:2.0.0
- 时间复杂度:O(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"
- Redis官方文档:https://redis.io/commands/hstrlen
- 起始版本:3.2.0
- 时间复杂度:O(1)
返回 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
- Redis官方文档:https://redis.io/commands/hvals
- 起始版本:2.0.0
- 时间复杂度:O(N) N 是 hash 的大小。
以数组形式返回指定 hash 中全部的值。当 key 不存在时返回空数组。
例子:
await client.hset('myhash', { f1: 'Hello' })
// 1
await client.hset('myhash', { f2: 'World' })
// 1
await client.hvals('myhash')
// ["Hello", "World"]
- Redis官方文档:https://redis.io/commands/hvals
- 起始版本:2.0.0
- 时间复杂度:O(N) N 是 hash 的大小。
以数组形式返回指定 hash 中全部的值。当 key 不存在时返回空数组。
例子:
await client.hset('myhash', { f1: 'Hello' })
// 1
await client.hset('myhash', { f2: 'World' })
// 1
await client.hvals('myhash')
// ["Hello", "World"]
以 Buffer 形式返回结果。
- Redis官方文档:https://redis.io/commands/info
- 起始版本:1.0.0
只返回指定 section 的内容。
Generated using TypeDoc
直接返回 msg 本身。
例子: