# Hash Commands

# hdel

  • 支持:是

  • 说明:删除一个或多个哈希表字段

  • 示例:

    > HSET myhash field1 "foo"
    (integer) 1
    > HDEL myhash field1
    (integer) 1
    > HDEL myhash field2
    (integer) 0
    

# hexists

  • 支持:是

  • 说明:判断一个hash类型的字段是否存在

  • 示例:

    > HSET myhash field1 "foo"
    (integer) 1
    > HEXISTS myhash field1
    (integer) 1
    > HEXISTS myhash field2
    (integer) 0
    

# hget

  • 支持:是

  • 说明:获取存储在 key 中的哈希字段的值

  • 示例:

    > HSET myhash field1 "foo"
    (integer) 1
    > HGET myhash field1
    "foo"
    > HGET myhash field2
    (nil)
    

# hgetall

  • 支持:是

  • 说明:获取存储在 key 中的所有哈希字段值

  • 示例:

    > HSET myhash field1 "Hello"
    (integer) 1
    > HSET myhash field2 "World"
    (integer) 1
    > HGETALL myhash
    1) "field1"
    2) "Hello"
    3) "field2"
    4) "World"
    

# hincrby

  • 支持:是

  • 说明:为存储在 key 中的哈希表指定字段做整数增量运算

  • 示例:

    > HSET myhash field 5
    (integer) 1
    > HINCRBY myhash field 1
    (integer) 6
    > HINCRBY myhash field -1
    (integer) 5
    > HINCRBY myhash field -10
    (integer) -5
    

# hincrbyfloat

  • 支持:是

  • 说明:为存储在 key 中的哈希表指定字段做浮点数数增量运算

  • 示例:

    > HSET mykey field 10.50
    (integer) 1
    > HINCRBYFLOAT mykey field 0.1
    "10.6"
    > HINCRBYFLOAT mykey field -5
    "5.6"
    > HSET mykey field 5.0e3
    (integer) 0
    > HINCRBYFLOAT mykey field 2.0e2
    "5200"
    

# hkeys

  • 支持:是

  • 说明:获取存储在 key 中的哈希表的所有字段

  • 示例:

    > HSET myhash field1 "Hello"
    (integer) 1
    > HSET myhash field2 "World"
    (integer) 1
    > HKEYS myhash
    1) "field1"
    2) "field2"
    

# hlen

  • 支持:是

  • 说明:获取存储在 key 中的哈希表的字段数量

  • 示例:

    > HSET myhash field1 "Hello"
    (integer) 1
    > HSET myhash field2 "World"
    (integer) 1
    > HLEN myhash
    (integer) 2
    

# hmget

  • 支持:是

  • 说明:批量获取多个存储在 key 中的哈希字段的值

  • 示例:

    > HSET myhash field1 "Hello"
    (integer) 1
    > HSET myhash field2 "World"
    (integer) 1
    > HMGET myhash field1 field2 nofield
    1) "Hello"
    2) "World"
    3) (nil)
    

# hmset

  • 支持:是

  • 说明:批量添加多个hash类型key的field的值

  • 示例:

    > HMSET myhash field1 "Hello" field2 "World"
    "OK"
    > HGET myhash field1
    "Hello"
    > HGET myhash field2
    "World"
    

# hset

  • 支持:是

  • 说明:添加或者修改存储在 key 中的哈希表字段的值

  • 示例:

    > HSET myhash field1 "Hello"
    (integer) 1
    > HSET myhash field2 "World"
    (integer) 1
    > HKEYS myhash
    1) "field1"
    2) "field2"
    

# hsetnx

  • 支持:是

  • 说明:添加一个hash类型的key的field的值, 如果存在就不执行

  • 示例:

    > HSETNX myhash field "Hello"
    (integer) 1
    > HSETNX myhash field "World"
    (integer) 0
    > HGET myhash field
    "Hello"
    

# hstrlen

  • 支持:是

  • 说明:返回哈希表key中,与给定域field相关联的值的字符串长度

  • 示例:

    > HMSET myhash f1 HelloWorld f2 99 f3 -256
    "OK"
    > HSTRLEN myhash f1
    (integer) 10
    > HSTRLEN myhash f2
    (integer) 2
    > HSTRLEN myhash f3
    (integer) 4
    

# hvals

  • 支持:是

  • 说明:获取一个hash类型的key中所有的value

  • 示例:

    > HSET myhash field1 "Hello"
    (integer) 1
    > HSET myhash field2 "World"
    (integer) 1
    > HVALS myhash
    1) "Hello"
    2) "World"
    

# hscan

  • 支持:否

  • 说明:开发中...

  • 示例:

    In the progress