redis 篇 - hash

hash

  • 可以认为是 python 中的字典
  • field 不允许重复
  • string类型的field和value的映射表
  • 每个hash可以存储 232 - 1 键值对(40多亿)

方法

  • hest key field value 设置值
  • 'hget key field'

    127.0.0.1:6379[7]> hset test t1 hello
    (integer) 1
    127.0.0.1:6379[7]> hget test t1
    "hello"
    127.0.0.1:6379[7]>
  • hmset key f1 v1 f2 v2 设置多个值
  • hgetall key 获取 KEY 的所有 field 以及 value

    127.0.0.1:6379[7]> hmset test t2 v2 t3 v3
    OK
    127.0.0.1:6379[7]> hgetall test
    1) "t1"
    2) "hello"
    3) "t2"
    4) "v2"
    5) "t3"
    6) "v3"
    127.0.0.1:6379[7]>
  • hdel key field 删除keyfield
    bash 127.0.0.1:6379[7]> hdel test t3 (integer) 1 127.0.0.1:6379[7]> hegetall test (error) ERR unknown command `hegetall`, with args beginning with: `test`, 127.0.0.1:6379[7]> hgetall test 1) "t1" 2) "hello" 3) "t2" 4) "v2" 127.0.0.1:6379[7]>

  • hexists key fied 判断字段是否存在
    bash 127.0.0.1:6379[7]> hexists test t1 (integer) 1 127.0.0.1:6379[7]>

  • hincrby key filed value keyfiled 的值自增

    127.0.0.1:6379[7]> hset test t10 0
    (integer) 1
    127.0.0.1:6379[7]> hincrby test t10 1
    (integer) 1
    127.0.0.1:6379[7]> hget test t10
    "1"
    127.0.0.1:6379[7]> hincrby test t10 1
    (integer) 2
    127.0.0.1:6379[7]> hget test t10
    "2"
  • hkeys 获取 hash 的 field


127.0.0.1:6379[7]> hkeys test
1) "t1"
2) "t2"
3) "t10"
  • hlen key 获取长度
    bash 127.0.0.1:6379[7]> hlen test (integer) 3
  • hsetnx key filed value只有在字段 field 不存在时,设置哈希表字段的值
127.0.0.1:6379[7]> hsetnx test t3 10
(integer) 1
127.0.0.1:6379[7]> hsetnx test t3 11111
(integer) 0
127.0.0.1:6379[7]> hget test t3
"10"

猜你喜欢

转载自www.cnblogs.com/ywhyme/p/9877520.html