redis 篇

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

    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 判断字段是否存在

    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 获取长度
    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"
原文地址:https://www.cnblogs.com/twotigers/p/9877520.html