暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【Redis】基础5:使用Hash哈希

LNMPR 2021-06-21
356

1. Hash哈希命令整理

2. "设置"的例子

    # 设置一个字段
    127.0.0.1:6379> HSET user_1 name username1
    (integer) 1
    127.0.0.1:6379> HSET user_1 name username
    (integer) 0


    # 批量设置多字段,操作都属于覆盖操作时才会返回0
    127.0.0.1:6379> HSET user_1 age 1 sex boy
    (integer) 2
    127.0.0.1:6379> HSET user_1 age 1 sex boy
    (integer) 0


    # 对不存在的字段做赋值,如果字段已存在则不会做任何操作并返回0
    127.0.0.1:6379> HSETNX user_1 lock 1
    (integer) 1
    127.0.0.1:6379> HSETNX user_1 lock 1
    (integer) 0

    3. "获取"的例子

      # 根据字段来获取值
      127.0.0.1:6379> HGET user_1 name
      "username"
      127.0.0.1:6379> HMGET user_1 name age
      1) "username"
        2) "1"


      # 获取所有的字段和值  
      127.0.0.1:6379HGETALL user_1
      1) "name"
      2) "username"
      3) "age"
      4) "1"
      5) "sex"
      6) "boy"
      7) "password"
      8) "1"
      9) "lock"
      10) "1"


      # 获取所有的字段  
      127.0.0.1:6379HKEYS user_1
      1) "name"
      2) "age"
      3) "sex"
      4) "password"
      5) "lock"


      # 获取所有的值
      127.0.0.1:6379> HVALS user_1
      1) "username"
      2) "1"
      3) "boy"
      4) "1"
      5) "1"


      # 获取长度  
      127.0.0.1:6379HLEN user_1
      (integer) 5
        
      # 迭代哈希表中的键值对
      HSCAN key cursor [MATCH pattern] [COUNT count]

          a. "HSCAN"的例子(在数据里比较少的时候会一次性全部查询出来,此时COUNT会失效)

        • cursor:游标 ( 可以根据游标值来往下迭代查询 )

        • pattern:匹配的模式

        • count:指定从数据集里返回的元素个数

        # 迭代哈希表中的键值对
        127.0.0.1:6379> HSCAN test 0 COUNT 5
        1) "896"
         2) 1)   "key1"
        2) "229"
            3)   "key2"
        4) "701"
            5)   "key3"
        6) "238"
            7)   "key4"
        8) "178"
            9)   "key5"
        10) "b"
            
        # 拿到游标为896,并yongoing896来迭代查询
        127.0.0.1:6379> HSCAN test 896 COUNT 5
        1) "960"
         2) 1)   "key6"
        2) "656"
            3)   "key7"
        4) "785"
            5)   "key8"
        6) "702"
            7)   "key9"
        8) "165"
            9)   "key10"
        10) "324"
            11)   "key11"
            12)   "149"

        4. "自增/自减"的例子

          # 自增操作
          127.0.0.1:6379> HINCRBY user_1 age 10
          (integer) 11
          127.0.0.1:6379> HINCRBYFLOAT user_1 age 0.1
          "11.1"


          # 自减操作
          127.0.0.1:6379> HINCRBYFLOAT user_1 age -0.1
          "11"
          127.0.0.1:6379> HINCRBY user_1 age -10
          (integer) 1

          5. "删除"的例子

            127.0.0.1:6379> HDEL user_1 age sex lock
            (integer) 3

            6.  "判断"的例子

              127.0.0.1:6379> HEXISTS user_1 lock
              (integer) 0
              文章转载自LNMPR,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

              评论