美文网首页
redis中hash基本命令

redis中hash基本命令

作者: 小鱼_a563 | 来源:发表于2020-09-24 21:10 被阅读0次

    Hash(哈希)

    Map集合,是以key-map的形式存储数据,本质和string没有太大的区别

    一.基本命令

    1.存储,查看数据
    myredis:0>hset h1 work student      #set一个具体的key-value
    "1"
    myredis:0>hget h1 work      #获取一个字段的值
    "student"
    myredis:0>hmset h1 name xiaoyu age 12 six men        #set多个具体的key-value
    "OK"
    myredis:0>hgetall h1       #获取全部的数据
     1)  "name"
     2)  "xiaoyu"
     3)  "age"
     4)  "12"
     5)  "six"
     6)  "men"
    ##########################################################################
    2.删除
    myredis:0>hgetall h1
     1)  "name"
     2)  "xiaoyu"
     3)  "age"
     4)  "12"
     5)  "six"
     6)  "men"
     7)  "work"
     8)  "student"
    myredis:0>hdel h1 work      #删除指定key中的字段,同时删除key中字段的元素
    "1"
    myredis:0>hgetall h1
     1)  "name"
     2)  "xiaoyu"
     3)  "age"
     4)  "12"
     5)  "six"
     6)  "men"
    ##########################################################################
    3.查看集合长度
    myredis:0>hlen h1      #查看集合字段个数
    "3"
    ##########################################################################
    4.判断集合中字段是否存在
    myredis:0>hexists h1 name
    "1"
    myredis:0>hexists h1 lastname
    "0"
    ##########################################################################
    5.只获得所有的字段(field),只获得所有的值(value)
    myredis:0>hkeys h1      #只获得h1这个key中所有的字段field
     1)  "name"
     2)  "age"
     3)  "six"
    myredis:0>hvals h1          #只获得h1这个key中所有的value
     1)  "xiaoyu"
     2)  "12"
     3)  "men"
    ##########################################################################
    6.字段的值也可以自增,判断是否存在数据,如果有则不新增,如果没有则新增
    myredis:0>hincrby h1 age 1      #指定增量
    "13"
    myredis:0>hincrby h1 age -1
    "12"
    myredis:0>hgetall h1
     1)  "name"
     2)  "xiaoyu"
     3)  "age"
     4)  "12"
     5)  "six"
     6)  "men"
    myredis:0>hsetnx h1 name xiao      #如果key中字段存在数据,则不创建数据
    "0"
    myredis:0>hsetnx h1 lastname xiao      ##如果key中字段不存在数据,则创建数据
    "1"
    

    二.总结

    • Hash更适合存储对象信息,经常变动的数据。
      • 比如用户对象
        我们存储用户id为1的数据,按照下面类似存储就可以了
    hmset user:1 name xiaoyu age 14 six 男 
    myredis:0>hgetall user:1
     1)  "name"
     2)  "xiaoyu"
     3)  "age"
     4)  "14"
     5)  "six"
     6)  "男"
    
    • String更加适合存储字符串数据

    相关文章

      网友评论

          本文标题:redis中hash基本命令

          本文链接:https://www.haomeiwen.com/subject/tgogyktx.html