redis 的哈希(hash)类型类似于一个键值对集合,通常用于存储对象。每个哈希包含多个字段(field),每个字段都有一个值(value)。哈希类型支持一系列常用命令,下面详细介绍这些命令,并结合代码示例进行展示。
1. hset - 设置哈希字段的值
hset
命令用于设置哈希字段的值,如果字段不存在则创建新字段。
hset key field value
示例:
hset user:1 name "john" hset user:1 age 30
2. hget - 获取哈希字段的值
hget
命令用于获取哈希字段的值。
hget key field
示例:
hget user:1 name hget user:1 age
3. hmset - 同时设置多个哈希字段的值(从 redis 4.0 开始被标记为废弃,建议使用hset)
hmset
命令用于同时设置多个哈希字段的值。
hmset key field1 value1 field2 value2
示例:
hmset user:1 name "john" age 30
4. hmget - 获取多个哈希字段的值
hmget
命令用于获取多个哈希字段的值。
hmget key field1 field2
示例:
hmget user:1 name age
5. hgetall - 获取哈希中所有字段和值
hgetall
命令用于获取哈希中所有字段和值。
hgetall key
示例:
hgetall user:1
6. hdel - 删除哈希字段
hdel
命令用于删除一个或多个哈希字段。
hdel key field1 field2 ...
示例:
hdel user:1 age
7. hexists - 检查哈希字段是否存在
hexists
命令用于检查哈希字段是否存在。
hexists key field
示例:
hexists user:1 name hexists user:1 age
8. hlen - 获取哈希字段的数量
hlen
命令用于获取哈希字段的数量。
hlen key
示例:
hlen user:1
9. hincrby - 增加哈希字段的整数值
hincrby
命令用于将哈希字段的整数值增加指定的增量。
hincrby key field increment
示例:
hincrby user:1 age 5
10. hincrbyfloat - 增加哈希字段的浮点数值
hincrbyfloat
命令用于将哈希字段的浮点数值增加指定的增量。
hincrbyfloat key field increment
示例:
hincrbyfloat user:1 balance 10.5
11. hkeys - 获取哈希中的所有字段名
hkeys
命令用于获取哈希中的所有字段名。
hkeys key
示例:
hkeys user:1
12. hvals - 获取哈希中的所有值
hvals
命令用于获取哈希中的所有值。
hvals key
示例:
hvals user:1
示例代码
下面是一个完整的示例,展示了如何使用上述常用命令操作 redis 哈希类型:
# 启动 redis cli redis-cli # 设置哈希字段的值 hset user:1 name "john" hset user:1 age 30 hset user:1 balance 100.5 # 获取哈希字段的值 hget user:1 name # 输出: "john" hget user:1 age # 输出: 30 # 同时设置多个哈希字段的值 hmset user:1 name "john" age 30 balance 100.5 # 获取多个哈希字段的值 hmget user:1 name age # 输出: 1) "john" 2) "30" # 获取哈希中所有字段和值 hgetall user:1 # 输出: 1) "name" 2) "john" 3) "age" 4) "30" 5) "balance" 6) "100.5" # 删除哈希字段 hdel user:1 age hget user:1 age # 输出: (nil) # 检查哈希字段是否存在 hexists user:1 name # 输出: 1 hexists user:1 age # 输出: 0 # 获取哈希字段的数量 hlen user:1 # 输出: 2 # 增加哈希字段的整数值 hincrby user:1 age 5 # 设置后 age 为 35 hincrby user:1 age 5 # 输出: 40 # 增加哈希字段的浮点数值 hincrbyfloat user:1 balance 10.5 # 输出: 111.0 # 获取哈希中的所有字段名 hkeys user:1 # 输出: 1) "name" 2) "balance" # 获取哈希中的所有值 hvals user:1 # 输出: 1) "john" 2) "111.0"
注意事项
- 数据类型转换:
hincrby
和hincrbyfloat
命令会自动进行数据类型转换,确保字段值为整数或浮点数。 - 返回值:大多数命令在执行成功时返回整数 1 表示成功,返回 0 表示失败。
- 字段名和键名:字段名和键名都是字符串类型,可以包含任何字符。
总结
redis 的哈希类型命令非常丰富,支持多种操作,如设置、获取、删除、检查、增加等。通过这些命令,你可以对 redis 中的哈希类型数据进行灵活的操作和管理。上述示例代码涵盖了大多数常用的哈希命令,帮助你快速掌握 redis 哈希类型的操作。
到此这篇关于redis的哈希hash类型常用命令的使用小结的文章就介绍到这了,更多相关redis 哈希命令内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论