Hash数据类型使用很普遍,它同样是key-value的方式来组织的,只是其value又包含多个field-fieldValue对。想要获取某个fieldValue,可以通过key-field联合来定位。

          图1. hash类型数据组织形式

从上“图1”可以很好的hash数据的组织形式和用途。比如,系统里面有很多用户,那么如何在redis里面存放用户信息呢?“图1”就展示了如何使用hash数据类型来存放用户信息,使用key来唯一标识用户id,value分别对应用户的“名字、年龄”等信息。

1、常用命令

HSET key field value
HSETNX key field value
HGET key field HMSET key field value [field value ...]
HMGET key field [field ...]
HGETALL key
HKEYS key
HVALS key HINCRBY key field increment
HINCRBYFLOAT key field increment HLEN key
HSTRLEN key field HDEL key field [field ...]
HEXISTS key field

2、命令解析

①、HSET key field value / HSETNX key field value

功能:设置一个哈希值。HSETNX则会检测field是否存在,如果不存在则添加,存在则不作处理。

时间复杂度:O(1)

example

②、HGETALL key

功能:通过哈希的key来获取其所有的field-fieldValue键值对。

时间复杂度:O(N) ,N是hash中field-fieldValue个数。

example

③、HGETALL key / HKEYS key / HVALS key

功能:HGETALL获取key下面的所有field-fieldValue对;HKEYS获取key下面的所有field值;HVALS key获取key下面所有的fieldValue值。

时间复杂度: O(N)

example

④、HLEN key / HSTRLEN key field

功能:HLEN获取哈希中field-fieldValue对的个数。HSTRLEN测量具体fieldValue的字符长度(3.2.0才有的命令)。

时间复杂度:O(1)

example

5、数据类型三:hash的更多相关文章

  1. 专题三:redis的数据类型之hash

    一.基本介绍 前面一个专题我们讲到string去存储明星微博粉丝数,微博数等,大概介绍了两种方式: set user:id:012345:fans  12210862            set u ...

  2. python 数据类型三 (字典)

    一.字典的介绍 字典(dict)是python中唯一的一个映射类型,它是以{}括起来的键值对组成,在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key-value保存 ...

  3. python数据类型三(字典)

    一.字典的介绍 字典(dict)是python中唯一的一个映射类型,它是以{}括起来的键值对组成,在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key-value保存 ...

  4. python基础(8):基本数据类型三(dict)、is和==、编码和解码

    1. 字典 1.1 字典的介绍 字典(dict)是python中唯一的一个映射数据类型,它是以{}括起来的键值对组成.在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将k ...

  5. python3 基础二——基本的数据类型三

    一.字符串str 1.创建字符串,为变量分配一个值 word='字符串' sentence="字符串\n" #python中单引号和双引号使用完全相同 paragraph=&quo ...

  6. 《闲扯Redis六》Redis五种数据类型之Hash型

    一.前言 Redis 提供了5种数据类型:String(字符串).Hash(哈希).List(列表).Set(集合).Zset(有序集合),理解每种数据类型的特点对于redis的开发和运维非常重要. ...

  7. redis数据类型之—Hash

    (1)hash 简单介绍 hash类型适合存储对象,字段值只能是字符串,不支持其他数据类型. (2)hash 常用命令 // 增加hash属性值 > hset user: name zm (in ...

  8. Redis[三] @Hash 哈希

    Redis的哈希值是字符串字段和字符串值之间的映射,所以他们是表示对象的完美数据类型 在Redis中的哈希值,可存储超过400十亿键值对. redis 提供了2套操纵 一种是批量 一种是非批量 假设需 ...

  9. 万恶之源 - Python基础数据类型三

    字典 字典的简单介绍 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成. 在dict中key是 唯⼀的.在保存的时候, 根据key来计算出⼀个内存地址. 然后将key ...

随机推荐

  1. Android编程 高德地图 AMapLocationClientOption 类中 setWifiActiveScan过时

    高德地图中   定位包中有以下方法: AMapLocationClientOption  类中  setWifiActiveScan  过时 isWifiActiveScan public boole ...

  2. caffe 卷积层的运算

    贾清扬寻找快速算法之路:https://github.com/Yangqing/caffe/wiki/Convolution-in-Caffe:-a-memo 卷积运算图文并茂:http://www. ...

  3. 【sklearn】网格搜索 from sklearn.model_selection import GridSearchCV

    GridSearchCV用于系统地遍历模型的多种参数组合,通过交叉验证确定最佳参数. 1.GridSearchCV参数    # 不常用的参数 pre_dispatch 没看懂 refit 默认为Tr ...

  4. 掌握Git撤销操作,随心所欲控制文件状态

    本文主要讨论和撤销有关的 git 操作.目的是让读者在遇到关于撤销问题时能够方便迅速对照执行解决问题,而不用去翻阅参数繁多的 git 使用说明. 一开始你只需了解大致功能即可,不必记住所有命令和具体参 ...

  5. Codeforces 15E Triangles 【组合计数】

    Codeforces 15E Triangles Last summer Peter was at his granny's in the country, when a wolf attacked ...

  6. 《DSP using MATLAB》示例Example 6.27

    代码: % r = 0.9; theta = (pi/180)*[-55:5:-35, 35:5:55]'; p = r*exp(j*theta); a = poly(p); b = 1; w = [ ...

  7. LeetCode 973. K Closest Points to Origin

    原题链接在这里:https://leetcode.com/problems/k-closest-points-to-origin/ 题目: We have a list of points on th ...

  8. php基础语法(变量)

    PHP常用表现形式: 1.<?php .....这里是php代码 ?> 2.<? .....这里是php代码 ?> 此形式依赖于php.ini中的一项设置: short_ope ...

  9. js前台调用lodop打印

    lodop简单介绍 lodop的打印功能已经非常强大,也在带web端的图形界面,可以供用户使用.使用js在前台调用lodop打印,一般分为两种方法: 1:特殊的指令打印,这种打印方式,是采用的与js无 ...

  10. 队列模拟题——pat1026. Table Tennis

    题意自己理解了,主要是两个队列维护,一个VIP队列,一个普通队列 搜集了一些坑(有些坑转自别的网站用于广大同学的测试之用) 普通人也有VIP的权益!!! 屌丝逆袭有木有!!! 920:52:00 10 ...