Redis Hash

  • ②Redis Hash 操作命令汇总
  • 1. hset 设置一个或多个哈希表中字段的值
  • 2. hget 获取存储在hash表中指定字段的值
  • 3. hmset 同时将多个field-value对设置到hash表的key中
  • 4. hmget 获取多个hash表中指定字段的值
  • 5. hgetall 获取hash表中指定key的所有域值对(字段和值)
  • 6. hdel 删除一个或多个hash表字段
  • 7. hlen 获取hash表中字段的数量
  • 8. hexists 确定hash表key中的指定字段是否存在
  • 9. hkeys 获取hash表key中所有的字段
  • 10. hvals 获取hash表key中所有字段的值
  • 11. hincrby 为指定字段的整数值加上增量值
  • 12. hincrbyfloat 为指定字段的浮点数值加上增量值
  • 13. hsetnx 为指定字段设置值(字段不存在为前提)


②Redis Hash 操作命令汇总



  • redis hash 是一个String类型的field(字段)和value(值)的映射表。
  • redis中每个hash可以存储2^32-1个键值对(40多亿)


1. hset 设置一个或多个哈希表中字段的值



hset key field value [field value ...]



# 设置哈希表h1中字段f1、f2、f3的值分别为v1、v2、v3
hset h1 f1 v1 f2 v2 f3 v3





2. hget 获取存储在hash表中指定字段的值



hget key field



# 获取哈希表h1中字段f1的值
hget h1 f1
# 获取哈希表h1中字段f2的值
hget h1 f2
# 获取哈希表h1中字段f3的值
hget h1 f3





3. hmset 同时将多个field-value对设置到hash表的key中



hmset key field value [field value ...]



# 同时将多个域值对存储到hash表的key——h2中
 hmset h2 f1 c++ f2 java f3 python f4 php





4. hmget 获取多个hash表中指定字段的值



hmget key field [field ...]



# 同时获取hash表的key——h2中多个字段的值
hmget h2 f1 f2 f3 f4





5. hgetall 获取hash表中指定key的所有域值对(字段和值)



hgetall key



# 获取hash表中h2的所有域值对
hgetall h2





6. hdel 删除一个或多个hash表字段



hdel key field [field ...]



# 删除hash表中h2的多个字段
 hdel h2 f1 f3





7. hlen 获取hash表中字段的数量



hlen key



# 获取hash表h1的字段数量
hlen h1
# 获取hash表h2的字段数量
hlen h2





8. hexists 确定hash表key中的指定字段是否存在



hexists key field



# 0代表不存在,1代表存在
hexists h1 f5
hexists h1 f1





9. hkeys 获取hash表key中所有的字段



hkeys key



# 获取hash表key:h1中的所有字段
hkeys h1





10. hvals 获取hash表key中所有字段的值



hvals key



# 获取hash表key:h1中的所有字段的值
hvals h1





11. hincrby 为指定字段的整数值加上增量值



hincrby key field increment



# 为hash表h3的f1字段值加9,返回的值计算后的值
hincrby h3 f1 9





12. hincrbyfloat 为指定字段的浮点数值加上增量值



hincrbyfloat key field increment



# 为hash表h3的f2字段值加3.3
hincrbyfloat h3 f2 3.3





13. hsetnx 为指定字段设置值(字段不存在为前提)



hsetnx key field value



# 字段不存在则赋值,字段存在了则无效。
hsetnx h1 f1 v11
hsetnx h1 f9 v9