1. Hash类型是String类型的field和value的映射表, 它特别适合存储对象。每个hash可以存储键值对(40多亿)。

2. 为哈希表中的字段赋值

2.1. 语法: hset key field value。

2.2. hset命令用于为哈希表中的字段赋值。如果哈希表不存在, 一个新的哈希表被创建并进行hset操作。如果字段已经存在于哈希表中, 旧值将被覆盖。

2.3. 如果字段是哈希表中的一个新建字段, 并且值设置成功, 返回1。如果哈希表中域字段已经存在且旧值已被新值覆盖, 返回0。

2.4. 实例

3. 获取哈希表中指定字段的值

3.1. 语法: hget key field。

3.2. hget命令用于返回哈希表中指定字段的值。

3.3. 返回给定字段的值。如果给定的字段或key不存在时, 返回nil。

3.4. 实例

4. 同时设置多个哈希表字段值

4.1. 语法: hmset key field1 value1 [field2 value2]。

4.2. hmset命令用于同时将多个field-value(字段-值)对设置到哈希表中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在, 会创建一个空哈希表, 并执行hmset操作。

4.3. 如果命令执行成功, 返回OK。

4.4. 实例

5. 获取一个或多个给定字段的值

5.1. 语法: hmget key field1 [field2]。

5.2. hmget命令用于返回哈希表中一个或多个给定字段的值。如果指定的字段不存在于哈希表, 那么返回一个nil值。

5.3. 返回一个包含多个给定字段关联值的表, 表值的排列顺序和指定字段的请求顺序一样。

5.4. 实例

6. 获取哈希表中所有字段

6.1. 语法: hkeys key。

6.2. hkeys命令用于获取哈希表中的所有域(field)。

6.3. 返回一个包含哈希表中所有域(field)的列表。当key不存在时, 返回一个空列表。

6.4. 实例

7. 获取哈希表中所有值

7.1. 语法: hvals key。

7.2. hvals命令返回哈希表所有值。

7.3. 返回一个包含哈希表中所有值的列表。当key不存在时, 返回一个空列表。

7.4. 实例

8. 获取哈希表中字段的数量

8.1. 语法: hlen key。

8.2. hlen命令用于获取哈希表中字段的数量。

8.3. 返回哈希表中字段的数量。当key不存在时, 返回0。

8.4. 实例

9. 哈希表不存在的字段赋值

9.1. 语法: hsetnx key field value。

9.2. hsetnx命令用于为哈希表中不存在的字段赋值。如果哈希表不存在, 一个新的哈希表被创建并进行hset操作。如果字段已经存在于哈希表中, 操作无效。

9.3. 设置成功, 返回1。如果给定字段已经存, 没有操作被执行, 返回0。

9.4. 实例

10. 查看哈希表指定的字段是否存在

10.1. 语法: hexists key field。

10.2. hexists命令用于查看哈希表的指定字段是否存在。

10.3. 如果哈希表含有给定字段, 返回1。如果哈希表不含有给定字段或key不存在, 返回0。

10.4. 实例

11. 获取哈希表所有的字段和值

11.1. 语法: hgetall key。

11.2. hgetall命令用于返回哈希表中所有的字段和值。在返回值里, 紧跟每个字段名(field name)之后是字段的值(value), 所以返回值的长度是哈希表大小的两倍。

11.3. 返回以列表形式返回哈希表的字段及字段值。若key不存在, 返回空列表。

11.4. 实例

12. 为哈希表中整数值加上增量

12.1. 语法: hincrby key field increment。

12.2. hincrby命令用于为哈希表中的字段值加上指定增量值。增量也可以为负数, 相当于对指定字段进行减法操作。如果哈希表的key不存在, 一个新的哈希表被创建并执行hincrby命令。如果指定的字段不存在, 那么在执行命令前, 字段的值被初始化为0。对一个储存字符串值的字段执行hincrby命令将造成一个错误。本操作的值被限制在64位(bit)有符号数字表示之内。

12.3. 返回执行hincrby命令之后, 哈希表中字段的值。

12.4. 实例

13. 为哈希表中浮点数值加上增量

13.1. 语法: hincrbyfloat key field increment。

13.2. hincrbyfloat命令用于为哈希表中的字段值加上指定浮点数增量值。增量也可以为负数, 相当于对指定字段进行减法操作。如果哈希表的key不存在, 一个新的哈希表被创建并执行hincrbyfloat命令。如果指定的字段不存在, 那么在执行命令前, 字段的值被初始化为0。对一个储存字符串值的字段执行hincrby命令将造成一个错误。

13.3. 返回执行hincrbyfloat命令之后, 哈希表中字段的值。

13.4. 实例

14. 删除一个或多个哈希表字段

14.1. 语法: hdel key field1 [field2]。

14.2. hdel命令用于删除哈希表key中的一个或多个指定字段, 不存在的字段将被忽略。

14.3. 返回被成功删除字段的数量, 不包括被忽略的字段。

14.4. 实例

005_Redis的Hash数据类型相关推荐

  1. hash 数据类型的应用场景

    1. 简介 hash 类型很像一个关系型数据库的数据表,hash 的 Key 是一个唯一值,Value 部分是一个 hashmap 的结构. 2. 数据模型 假设有一张数据库表如下: id name ...

  2. Redis string和hash数据类型

    文章目录 一.redis 数据存储格式 二.string 1. string基本操作 2. string扩展操作 3. 数据库中热点数据key命名规范 4. string类型注意事项 三.hash 1 ...

  3. Redis中哈希hash数据类型(增加修改(设置单一属性、设置多个属性)、获取(获取键所有属性、获取单一属性值、获取多个属性值)、删除、使用hash可能出现的问题)

    hash⽤于存储对象,对象的结构为属性.值 值的类型为string [应用:如购物车内某个宝贝的所有属性]  [help hset] 1. 增加.修改 1.1 设置单个属性 hset key fiel ...

  4. 018_Jedis的Hash数据类型

    1. 新建一个名为JedisHash的Java项目, 拷入相关jar包, 并添加到build path 2. Jedis设置和获取哈希表字段值 2.1. 代码 2.2. 运行结果 3. Jedis同时 ...

  5. redis:hash数据类型与操作

    Redis hash介绍 Redis hash是一个string类型的field和value的映射表.一个key可对应多个field,一个field对应一个value.将一个对象存储为hash类型,较 ...

  6. redis的hash数据类型相关命令介绍及使用

    文章目录 hash类型简介 添加命令 查询命令 删除命令 应用场景 hash类型简介 redis中的哈希(hash或者散列表),内部存储很多键值对以key - [Field-Value]的形式存储,也 ...

  7. redis hash数据类型常用命令

    可以对field进行数值计算:hincrbyfloat sean age -1 应用场景:点赞.收藏等.

  8. RedisTemplate操作hash数据类型示例

    @Autowiredprivate RedisTemplate redisTemplate;/*** 定时任务*/@Transactionalpublic void generateDispatche ...

  9. 缓存加速------Redis的五种数据类型(String,List,Hash,Set,Sorted Set)

    目录 一.String数据类型 1.set,get 2.append 3.incr,decr,incrby,decrby 4.strlen 5.setex 6.getset 7.setnx 8.mse ...

最新文章

  1. Android resource linking failed
  2. 从换脸到换姿势,AI 在图像处理的道路上越走越魔幻
  3. IDC报告:欧洲区块链支出8亿美元,排在首位
  4. python绘制3维图-Python 画出来六维图
  5. linux——select、poll、epoll
  6. 网络流24题之最长k可重区间集问题
  7. java打包带有外部jar,Eclipse使用总结——使用Eclipse打包带源码的jar包
  8. 更新证书错误Code Sign error: Provisioning profile ‘XXXX'can't be found
  9. Java TCP案例网络聊天室
  10. 用matlab进行单整性检验,应用VAR模型时的15个注意点(笔记)
  11. 1叉叉加速器分析_加速分析
  12. iphone图片编辑画笔_iPhone手机怎么编辑图片?还不知道的话真的要了解一波了~...
  13. 张量的概念及基本运算
  14. DB2数据库开发工具:DBVisualizer
  15. java 过滤所有特殊字符
  16. S型加减速程序,C++,PLC,AGV
  17. 杰理之TIMER【篇】
  18. 词霸天下---202 词根【-tribut- = -tribu-给 】
  19. Android回调详解
  20. 神州数码无线产品(AC+AP)配置

热门文章

  1. java 多线程Callable和Runable执行顺序问题详解
  2. js之字面量、对象字面量的访问、关键字in的用法
  3. JPA的泛型DAO设计及使用
  4. python生成回文数
  5. DellEMC品牌正式启用50%是上一代的R730对比R74
  6. 超简单的话解释C#事件-源码示例
  7. sql根据某个字段拼接另外字段
  8. 数位dp:Educational Codeforces Round 53 (Rated for Div. 2) E. Segment Sum
  9. IOC的理解,整合AOP,解耦对Service层和Dal层的依赖
  10. 云计算之路-道歉,无地自容的:4月7日14:15~18:35网站故障给大家带来麻烦了