当前位置:   article > 正文

Redis之Hash集合(个人笔记,自带demo)_redis hash demo

redis hash demo

简介

Redis hash是一个键值对集合

Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

类似Java里面的Map<String,Object>

基本命令

hset命令

  1. #给<key>集合中的<field>键赋值<value>
  2. hset <key> <field> <value>
  3. #写个demo
  4. hset user:001 id 1
  5. hset user:001 name zhangsan
  6. #注意:如果赋值已经存在的field,则覆盖旧的值

hget命令

  1. #从<key1>集合<field>取出value
  2. hget <key1> <field>
  3. #写个demo
  4. hget user:001 id #返回1
  5. hget user:001 name #返回zhangsan

hmset命令

  1. ##批量设置hash的值
  2. hmset <key1> <field1> <value1> <field2> <value2>...
  3. #写个demo
  4. hmset user:002 id 2 name lisi age 18 #{user:002:{id:2,name:lisi,age:18}}

hexists命令

  1. hexists <key1><field>
  2. #写个demo
  3. hexists user:001 age #检查user:001有没有对应field为age

hkeys命令

  1. #列出该hash集合的所有field
  2. hkeys <key>
  3. #写个demo
  4. hkeys user:001
  5. #返回结果
  6. id、name、age

hvals命令

  1. #列出该hash集合的所有value
  2. hvals <key>

hincrby命令

  1. #为哈希表key中的域field的值加上增量1,这个field的数据类型必须为integer,且increment必须填写,不可缺失
  2. hincrby <key> <field> <increment>
  3. #写个demo
  4. hincrby user:002 age 3 #给user:002的年龄增加3

hsetnx命令

  1. #将哈希表中的域field的值设置为value,当且仅当域field不存在
  2. hsetnx <key> <field> <value>
  3. #下面这个语句赋值会失败,因为user:002的age已经存在
  4. hsetnx user:002 age 18
  5. #与hset的区别:
  6. hset对已经存在的field赋值会覆盖旧的值

Hash使用的数据结构

Hash类型对应的数据结构是两种:ziplist(压缩列表),hashtable(哈希表)。当field-value长度较短且个数较少时,使用ziplist,否则使用hashtable

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/800848
推荐阅读
相关标签
  

闽ICP备14008679号