redis hash 是一个string类型的field和value的映射表。

它的添加、删除操作都是O(1)(平均),hash特别适合用于存储对象

将一个对象存储在hash类型总会占用更少的内存,并且可以更方便的存取

整个对象。

hset方法:设置hash field为指定值,如果key不存在,则先创建

127.0.0.1:6379> hset user:001 name xiaoming
(integer) 1
127.0.0.1:6379> hget user:001 name
"xiaoming"

hsetnx方法:设置hash field为指定值,如果key不存在,则先创建。

如果存在返回0.

127.0.0.1:6379> HSETNX user:001 name xiaohong
(integer) 0

hmset方法:批量设置hash field

127.0.01:6379> get user:002 name
(error) ERR wrong number of arguments for 'get' command
127.0.01:6379> hget user:002 name
"xiaoming"
127.0.01:6379> hget user:002 age
"10"
127.0.01:6379> hget user:002 gender
"1"

hget方法:获取hash指定的filed的值

hmget方法:批量获取hash指定的filed值

127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "10"
3) "1"

hincrby方法:指定的hash field加上指定的值

127.0.01:6379> hincrby user:002 age 8
(integer) 18
127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "18"
3) "1"

hexists方法:测试指定的field是否存在,存在返回1

127.0.01:6379> HEXISTS user:002 name
(integer) 1

hlen方法:返回指定hash 的键数

127.0.01:6379> hlen user:002
(integer) 3

hdel方法:删除指定的hash的filed

127.0.01:6379> HDEL user:002 age
(integer) 1
127.0.01:6379> hget user:002 age
(nil)

hkeys方法:返回hash的所有field

127.0.01:6379> hkeys user:002
1) "name"
2) "gender"

hvals方法:返回hash的所有的value

127.0.01:6379> HVALS user:002
1) "xiaoming"
2) "1"

hgetall方法:返回所有字段和其对应值

127.0.01:6379> hgetall user:002
1) "name"
2) "xiaoming"
3) "gender"
4) "1"

redis数据类型:hashes的更多相关文章

  1. Redis数据类型:Hashes、Geo操作指令

    Redis数据类型:Hashes.Geo操作指令 Hashes常用操作指令 Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对. HSET HGET HSET:将 ...

  2. Redis数据类型和常用命令

    Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...

  3. Redis数据类型简介(十分钟快速学习Redis)

    如何在ubuntu18.04上安装和保护redis 如何连接到Redis数据库 如何管理Redis数据库和Keys 如何在Redis中管理副本和客户端 如何在Redis中管理字符串 如何在Redis中 ...

  4. 面试官问我redis数据类型,我回答了8种

    面试官:小明呀,redis 有几种数据结构呀? 小明:8 种 面试官:那你说一下分别是什么? 小明:raw,int,ht,zipmap,linkedlist,ziplist,intset,skipli ...

  5. Redis入门到放弃系列-redis数据类型

    Redis数据类型? Redis 提供一些常用的数据类型:Strings.Lists.Sets.Sorted sets.Hashes.Arrays.Bitmap.Streams Strings(字符串 ...

  6. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  7. redis数据类型及使用场景

    Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mge ...

  8. Redis数据类型介绍

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  9. redis数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) st ...

  10. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

随机推荐

  1. zabbix 布署实践【6 使用微信公众号-消息模版推送告警】

    使用这个服务的前提是,你必须要有一个微信订阅号,或者公众号,并且是通过认证的号 因为认证过后的号才有模版消息和获取用户openid等信息的权限 ,如下,登录微信公众号的登录页后,底下有个接口权限的展示 ...

  2. #大数加减乘除#校赛D题solve

    #include<iostream> #include<cstdio> #include<cstring> #include<string> #incl ...

  3. Majority Element in an Array

    Problem Statement Given a large array of non-negative integer numbers, write a function which determ ...

  4. Code Sign error: No code signing identities found: No valid signing identities

    Code Sign error: No code signing identities found: No valid signing identities 解决办法:如果证书可获取,最简办法就是把所 ...

  5. FD.io VPP 技术Neutron VNF vRouter 实现

    在OpenStack Neutron中主要有三种网络设备,路由器(Router),负载均衡器(LB)以及VPN,其中Router作为基础网络设备起到连接子网到子网.内网到外网的作用.不同子网之间的访问 ...

  6. linux 命令展示该目录下的所有子目录及文件结构 tree

    1. apt-get install tree 2. tree -d -L 1 解释: tree :显示目录树: -d : 只显示目录: -L 1 : 选择显示的目录深度为1 , 只显示一层深度. 目 ...

  7. 利用虚函数减少导出DLL的头文件依赖

    概要 设想这样一个场景:我有一个类FunClass,它的声明位于FunClass.h,并且在FunClass.h中,我还引用了secret.h. 现在我需要把FunClass导出成DLL文件供别人二次 ...

  8. .net中读取xml文件中节点的所有属性信息

    功能描述: 将数据以xml的格式记录成配置文件,需要获取配置文件中的数据时,则获取对应的配置文件,读取配置文件里对应节点的所有属性. 逻辑实现: 1.将数据配置好在xml文件中. 2.获取xml文件中 ...

  9. Android 6.0动态添加权限

    Android 6.0加入了动态权限,权限有普通权限和危险权限两种,其中危险权限在6.0以上的手机是需要动态添加权限的,举例:拨打10086//-----------------布局文件------- ...

  10. fopen()函数以"a+"方式打开一个不存在的文件后读写出现问题

    问题:在完成课后习题的时候,使用fopen()函数以"a+"方式打开一个不存在的文件时,写入.读取出现错误: //添加用户输入单词后,在单词头加入编号,确保编号跟着前面的开始排序 ...