②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