Hash是由键值对组成的map。Hashes的底层是通过字典实现的。一个哈希表里面可以有多个哈希表节点。而每个哈希节点就保存了字典中的一个键值对。

字典是一种用于保存键和值对的抽象数据结构。字典里的每一个键都是唯一的。

在哈希表里面存在一个哈希表数组。其中每个元素指向一个字典的键值对。

在哈希表里面还记录了一个哈希表的大小。已经使用的节点数。还有一个sizemask,它总是比哈希表的大小小1,

用于决定一个键应该放在数组的哪个索引上。

在每个哈希表节点中,都保存了下一个节点,形成链表。

在Redis中大概有15个操作Hash的命令。

HSET key field value:设置hash里面key中的field字段的值设为value,时间复杂度为O(1)。

HGET key field:获取hash中域key的field的值,,时间复杂度为O(1)。

HDEL key field [field ...]:删除域key中一个或多个Hash的field,

HMSET key field value [field value ...]:设置hash表中域key的多个字段值

HMGET key field [field ...]:获取hash里面域key的多个指定字段的值

HKEYS key:获取hash表中域key的所有字段

HVALS key:获得hash表中key域的所有值

HGETALL key:从hash中读取域key中全部的域和值

HLEN key:获取hash里域key所有字段的数量

HEXISTS key field:判断field是否存在于hash中

HSETNX key field value:设置hash的一个字段,只有当这个字段不存在时有效

HSTRLEN key field:获取hash里面指定field的长度

  1. 127.0.0.1:6379> HSET user name zhangsan
  2. (integer) 1
  3. 127.0.0.1:6379> HGET user name
  4. "zhangsan"
  5. 127.0.0.1:6379> HMSET user age 20 address shanghai birthday 12/18
  6. OK
  7. 127.0.0.1:6379> HMGET user name age
  8. 1) "zhangsan"
  9. 2) "20"
  10. 127.0.0.1:6379> HDEL user age
  11. (integer) 1
  12. 127.0.0.1:6379> HKEYS user
  13. 1) "name"
  14. 2) "address"
  15. 3) "birthday"
  16. 127.0.0.1:6379> HVALS user
  17. 1) "zhangsan"
  18. 2) "shanghai"
  19. 3) "12/18"
  20. 127.0.0.1:6379> HGETALL user
  21. 1) "name"
  22. 2) "zhangsan"
  23. 3) "address"
  24. 4) "shanghai"
  25. 5) "birthday"
  26. 6) "12/18"
  27. 127.0.0.1:6379> HLEN user
  28. (integer) 3
  29. 127.0.0.1:6379> HEXISTS user age
  30. (integer) 0
  31. 127.0.0.1:6379> HEXISTS user name
  32. (integer) 1
  33. 127.0.0.1:6379> HSETNX user age 18
  34. (integer) 1
  35. 127.0.0.1:6379> HSETNX user name lisi
  36. (integer) 0
  37. 127.0.0.1:6379> HSTRLEN user name
  38. (integer) 8
  39. 127.0.0.1:6379>

HINCRBY key field increment:将hash中指定域的值增加给定的数字

HINCRBYFLOAT key field increment:将hash中指定域的值增加给定的浮点

  1. 127.0.0.1:6379> HINCRBY user age 5
  2. (integer) 23
  3. 127.0.0.1:6379> HINCRBYfloat user age 5.2
  4. "28.2"

HSCAN key cursor [MATCH pattern] [COUNT count]:迭代hash里面的元素

每次都返回一个游标,初始值为0。

Redis常用命令--Hashes的更多相关文章

  1. Redis常用命令

    Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...

  2. 第2讲 Redis常用命令与高级应用

    目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...

  3. Redis常用命令手册:服务器相关命令

    Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...

  4. redis redis常用命令及内存分析总结(附RedisClient工具简介

    redis常用命令及内存分析总结(附RedisClient工具简介 by:授客 QQ:1033553122 redis-cli工具 查看帮助 连接redis数据库 常用命令 exists key se ...

  5. Redis常用命令与高级应用

    附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...

  6. Redis快速起步及Redis常用命令大全

    本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...

  7. redis配置密码 redis常用命令

    redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy   #requi ...

  8. redis常用命令及持久化机制

    redis  常用命令 查找redis服务文件 find / -name  redis-server 查找配置文件 find / -name redis.conf 启动服务时候,要指定配置文件 启动r ...

  9. Redis 常用命令 大全

    Redis 常用命令 发现几个很好的 Redis 常用命令汇总大全网页,分享给小伙伴们~ 1.Redis 命令参考 http://redisdoc.com/string/index.html 2.W3 ...

随机推荐

  1. node.js与比特币(typescript实现)

    BTC中的utxo模型 BTC中引入了许多创新的概念与技术,区块链.PoW共识.RSA加密.萌芽阶段的智能合约等名词是经常被圈内人所提及,诚然这些创新的实现使得BTC变成了一种有可靠性和安全性保证的封 ...

  2. JavaScript(第十七天)【浏览器检测】

    由于每个浏览器都具有自己独到的扩展,所以在开发阶段来判断浏览器是一个非常重要的步骤.虽然浏览器开发商在公共接口方面投入了很多精力,努力的去支持最常用的公共功能:但在现实中,浏览器之间的差异,以及不同浏 ...

  3. C语言第一次博客作业---顺序机构基础练习

    一.PTA实验作业 题目1.温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代 ...

  4. 第一周C语言作业

    一.PTA实验作业 题目1.温度转换 1.实验代码 int main() { int fahr = 150,celsius; celsius = 5 * (fahr - 32) / 9; printf ...

  5. 一起happy--C++小组Alpha版本发布说明

    1 功能介绍 该PC端APP,是一个同行者的信息搜索平台,旨在为喜欢游玩,但是身边同学朋友时间冲突,想找人结伴的年轻人提供一个检索平台,让他们尽量能够快速便捷的寻找合适同行者.该APP有登录.注册.主 ...

  6. Ubuntu下安装gsoap

    昨天在ubuntu下进行安装gSOAP,费了很多时间,没成功,今天又来找了大量教程资料,终于一次成功,这里写下自己的安装步骤和方法,供大家参考. 首先下载gsoap,我下载的是gsoap-2.8.1. ...

  7. node.js基础

    //安装淘宝npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org//require表示引包,引包就是引用自己的一个特 ...

  8. xapp1151_Param_CAM模块安装

    xapp1151_Param_CAM模块安装 所需生成模块 TCAM CAM 下载链接 赛灵思技术支持网站:http://www.xilinx.com/support.html 并在网页中搜索xapp ...

  9. CSS你所不知的伪元素的用法

    你所不知的 CSS ::before 和 ::after 伪元素用法 博客分类: Div / Css / XML / HTML5   CSS 有两个说不上常用的伪类 :before 和 :after, ...

  10. UML开发工具Rose ralation的破解安装,

    UML开发工具Rose ralation的在windows764破解安装, 安装下载还可以参考:http://www.cnblogs.com/leaven/p/3718361.html 跟大家分享怎么 ...