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的更多相关文章

  1. Redis五大数据类型的常用操作

    在上一篇博文<centos安装redis>中,已经详细介绍了如何在centos上安装redis,今天主要介绍下Redis五大数据类型及其五大数据类型的相关操作. Redis支持五种数据类型 ...

  2. 一文搞定Redis五大数据类型及应用场景

    本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...

  3. redis 五大数据类型使用

    redis 五大数据类型使用 字符串str 单个值 127.0.0.1:6379> set name pp # 设置键值[O(1)] OK 127.0.0.1:6379> setex na ...

  4. 《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型

    热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....;  => keys product* 订单的 ...

  5. Redis五大数据类型详解

    关于Redis的五大数据类型,它们分别为:String.List.Hash.Set.SortSet.本文将会从它的底层数据结构.常用操作命令.一些特点和实际应用这几个方面进行解析.对于数据结构的解析, ...

  6. redis五大数据类型以及常用操作命令

    Redis的五大数据类型 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value.string类型是二进制安全的.意 ...

  7. 四:Redis五大数据类型

    Redis的五大数据类型 1.string(字符串) string是Redis最基本的类型,你可以理解成与menmcached一模一样的类型,一个key对应一个value string类型是二进制安全 ...

  8. Redis五大数据类型

    首先说明下,Redis是:单线程+多路IO复用技术!!! string set  >  key  +  zset          list hash 常用的几个命令: >keys * 查 ...

  9. 8、Redis五大数据类型---哈希(Hash)

    一.哈希(Hash)简介: Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis hash 是一个键值对集合. 二.常用命令 1.h ...

随机推荐

  1. MySQL int(1) 与 int(3) 的区别

    1.占用的字节都一样,只是容纳字符个数有区别. int(1): 一个字符. int(3): 三个字符. 2.另外要注意的是,无符号整数,自动左侧0填充宽度. int(3),插入值5,会变成005存储. ...

  2. ADB之安装APK

    一.下载安装adb工具 下载安装,cmd测试是否成功 二.连接设备 1.手机打开USB测试 2.测试连接 三.安装应用 adb -s [设备编号] install [apk的完整路径]  

  3. Navicat 安装+连接

    Navicat安装包: 链接:https://pan.baidu.com/s/1bvKagRJ0w_7LH0t4597ycA 提取码:yftv 如MySQL 8.0+ 安装成功后,教程见本博 可用Na ...

  4. PAT (Advanced Level) Practice 1005 Spell It Right (20 分) (switch)

    Given a non-negative integer N, your task is to compute the sum of all the digits of N, and output e ...

  5. 最短路-B - 六度分离

    B - 六度分离 1967年,美国著名的社会学家斯坦利·米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说,大意是说,任何2个素不相识的人中间最多只隔着6 ...

  6. 性能优化-css,js的加载与执行

    前端性能优化 css,js的加载与执行 javascript是单线程的 一个网站在浏览器是如何进行渲染的呢? html页面加载渲染的过程 html渲染过程的一些特点 顺序执行,并发加载 词法分析 并发 ...

  7. 关于2008R2的序列号

    windows server 2008 r2 企业版序列号 BX4WB-3WTB8-HCRC9-BFFG3-FW26F P63JV-9RWW2-DJW7V-RHTMT-W8KWJ MDB49-7MYG ...

  8. 微信小程序weui的使用

    大家好,我是前端菜鸟,大家可以叫我惊蛰,今天给大家分享一下在微信小程序中对weui的引入和使用,其他的也不再赘述,文中有不对的还请指正,谢谢. 直入主题: 1.下载weui 进入GitHub http ...

  9. 占位 DL

    占位 DL include: DL404

  10. 关于XXE

    NJUPT CTF2019: 做题的时候,抓包看了一下,响应XML格式消息,并没有严格过滤,这道题读文件, <!DOCTYPE foo [ <!ENTITY xxe SYSTEM &quo ...