码迷,mamicode.com
首页 > 其他好文 > 详细

Redis08——Redis五大数据类型 hash

时间:2019-10-24 13:42:18      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:tab   string类   ble   查看   ash   设置   pad   val   字符   

hash

  1. Redis中的hash是一个键值对集合
  2. 同时又是一个string类型的field和value的映射表,hash特别适合用于存储对象
  3. 类似于java里面的Map<String,Object>

问题:如果有一个Javabean对象,在Redis中该如何存在

①用户id为key,value为Javabean序列化后的字符串

  缺点:每次修改用户的某个属性,先反序列化改好后再序列化回去,开销大

   技术图片

 

②用户id+属性名作为key,属性值作为value

  缺点:用户id数据冗余

   技术图片

 ③通过key(用户id)+field(属性标签)可以操作对应属性数据

  优点:不需要重复存储数据

     不会带来序列化和并发修改控制的问题

   技术图片

 常用操作:

hset <key>  <field>  <value>

给<key>集合中的  <field>键赋值<value>

hget <key1>  <field>  

从<key1>集合<field> 取出 value

hmset <key1>  <field1> <value1> <field2> <value2>...  

批量设置hash的值

hexists key  <field>

查看哈希表 key 中,给定域 field 是否存在。

hkeys <key>  

列出该hash集合的所有field

hvals <key>   

列出该hash集合的所有value

hincrby <key> <field>  <increment>

为哈希表 key 中的域 field 的值加上增量 increment

hsetnx <key>  <field> <value>

将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在

 

Redis08——Redis五大数据类型 hash

标签:tab   string类   ble   查看   ash   设置   pad   val   字符   

原文地址:https://www.cnblogs.com/zly123/p/11731320.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!