Hash哈希

简介

Redis hash 是一个键值对集合。

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

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

用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储

主要有以下2种存储方式:


每次修改用户的某个属性需要,先反序列化改好后再序列化回去。开销较大。

用户ID数据冗余


通过 key(用户ID) + field(属性标签) 就可以操作对应属性数据了,既不需要重复存储数据,也不会带来序列化和并发修改控制的问题

数据结构

Hash类型对应的数据结构是两种:ziplist(压缩列表),hashtable(哈希表)。

当field-value长度较短且个数较少时,使用ziplist,否则使用hashtable。

常用命令

hset [key][field][value]给[key]集合中的 [field]键赋值[value]

hget [key1][field]从[key1]集合[field]取出 value

hmset [key1][field1][value1][field2][value2】… 批量设置hash的值

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

hkeys [key] 列出该hash集合的所有field

hvals [key] 列出该hash集合的所有value

hincrby [key][field][increment] 为哈希表 key 中的域 field 的值加上增量 1 -1

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

[Redis6]常用数据结构_Hash哈希相关推荐

  1. 【转】常用数据结构及复杂度

    常用数据结构的时间复杂度 Data Structure Add Find Delete GetByIndex Array (T[]) O(n) O(n) O(n) O(1) Linked list ( ...

  2. 动图 + 源码,演示 Java 中常用数据结构执行过程及原理

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  3. 几张动态图捋清Java常用数据结构及其设计原理

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  4. java set第n位_数据结构与算法——常用数据结构及其Java实现

    本文采用Java语言来进行描述,帮大家好好梳理一下数据结构与算法,在工作和面试中用的上.亦即总结常见的的数据结构,以及在Java中相应的实现方法,务求理论与实践一步总结到位. 常用数据结构 数组 数组 ...

  5. 【Python基础】盘点 Python 10 大常用数据结构(上篇)

    我的施工之路 上图施工计划,已完成专题: 1我的施工计划 2数字专题 3字符串专题 4列表专题 5流程控制专题 6编程风格专题 7函数使用 8.面向对象编程(上篇) 9.面向对象编程(下篇) Pyth ...

  6. 【Python基础】盘点 Python 10 大常用数据结构(下篇)

    我的施工之路 虽然艰辛,却有读者们陪伴 Python 常用数据结构 此专题<盘点Python10大常用数据结构>目录: 学习目的 学习目标 1 list 2 tuple 3 set 4 d ...

  7. 常用数据结构及复杂度

    来自:匠心十年 - 博客园  作者:Dennis Gao  链接:http://www.cnblogs.com/gaochundong/p/3813252.html 常用数据结构的时间复杂度 Data ...

  8. 数据结构:哈希表函数构造和冲突解决方法

    哈希表 哈希函数:记录的存储位置和它的关键字之间建立一个确定的对应关系. 冲突:对不同的关键字可能得到同一哈希地址,这种现象称为冲突. 哈希函数构造方法 1.直接定址法 取关键字或关键字的某个线性函数 ...

  9. 数据结构中缀表达式转后缀表达式与后缀表达式的求值实训报告_动图+源码,演示 Java 中常用数据结构执行过程及原理...

    程序员的成长之路互联网/程序员/成长/职场 关注 阅读本文大概需要 3.7 分钟. 作者:大道方圆cnblogs.com/xdecode/p/9321848.html 最近在整理数据结构方面的知识, ...

最新文章

  1. 单臂路由与三层交换机—Vecloud微云
  2. 其中一个页签慢_Word中如何快速定位到页、行、表格、公式,查找与替换方法...
  3. Linux之《荒岛余生》(二)CPU篇
  4. cxfreeze打包pyqt5程序_基于PyQt5的简单RMSE计算小工具研究
  5. Ubuntu 14.10 下开机不进入图形化界面
  6. 采用docker安装部署Nginx
  7. 【新闻发布系统】项目文档
  8. 【SAS NOTE】OUTPUT
  9. vs2019社区版+qt5.14.2+Coin3D安装
  10. Delta机器人鲁棒控制仿真
  11. 数据结构(十二)二叉树—— 二叉树的逆推构建
  12. python 从文件中读取数据,同时去除掉空格和换行
  13. Oracle to_char()函数的用法
  14. 第 01 章:开篇介绍,我要带你撸 Spring 啦!
  15. 在 Python 中的常见的几种字符串替换操作
  16. 计算机组装大赛策划书新闻稿,关于装机大赛策划书
  17. C语言——史上最全通讯录讲解(附源码)
  18. 2021SC@SDUSC山东大学软件学院软件工程应用与实践--quark renderer代码分析 第十二篇 绘画系统分析(3):连线(line)
  19. BIM技术之Dynamo图元编程:批量放置线性+阶梯矩阵族
  20. 为啥我不关心制造企业内部信息化了

热门文章

  1. 一名全栈工程师的必备“百宝箱”
  2. 【BIM入门实战】Revit入门基础知识选择题带答案解析(116题)
  3. React Native之导出
  4. IOS之学习笔记五(合成存取方法)
  5. Android之用AccessibilityService实现红包插件
  6. Android之RecyclerView 实现真正的Gallery效果
  7. (十)python3 只需3小时带你轻松入门——模块与包
  8. php为什么在变量前加,php中变量前加、@等符号是什么意思?
  9. 代言男科、站台微商、变身神棍....这些科学家被捧了几十年,黑历史曝光后,让人三观尽毁......
  10. 这个被称为20世纪最伟大人物的最强理科生,到底有多强,你根本不了解