005_Redis的Hash数据类型

1. Hash类型是String类型的field和value的映射表, 它特别适合存储对象。每个hash可以存储2^{32}-1键值对(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. 实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值