Redis Hash哈希类型
Hash相当于map集合。本质和String类型没有太大区别,还是一个简单的key-value!
所有的Hash命令是以“h”开头的。
1.利用 hset命令 设置键值
127.0.0.1:6379> hset myhash field1 ckfuture
(integer) 1
2.利用hget 命令获取键值
127.0.0.1:6379> hget myhash field1
"ckfuture"
3.利用 hmset 命令同时设置多个键值
127.0.0.1:6379> hmset myhash field1 hello field2 word
OK
4.利用hmget命令同时获取多个键值
127.0.0.1:6379> hmget myhash field1 field2
1) "hello"
2) "word"
5.利用hmgetall命令获取全部键值对
127.0.0.1:6379> hgetall myhash
1) "field1"
2) "hello"
3) "field2"
4) "word"
6.利用hdel命令删除指定的字段
127.0.0.1:6379> hdel myhash field1
(integer) 1
7.利用hlen命令获取哈市表字段数量
127.0.0.1:6379> hlen myhash
(integer) 1
8.利用hexists判断hash中指定字段是否存在
127.0.0.1:6379> hexists myhash field1 (integer) 0 127.0.0.1:6379> hexists myhash field2 (integer) 1 127.0.0.1:6379>
9.利用hkeys 命令获得所有field(字段)
127.0.0.1:6379> hkeys myhash
1) "field2"
127.0.0.1:6379>
10.利用hvals 命令获得所有value
127.0.0.1:6379> hvals myhash
1) "word"
11.利用hincrby命令设置字段自增1
127.0.0.1:6379> hset myhash field3 5 (integer) 1 127.0.0.1:6379> hincrby myhash field3 1 (integer) 6 127.0.0.1:6379>
12.利用hincrby key field -1 命令设置字段自减
127.0.0.1:6379> hincrby myhash field3 -1
(integer) 5
127.0.0.1:6379>
13.利用hsetnx 命令完成如果不存在则可以设置,如果存在则不能设置。
127.0.0.1:6379> hsetnx myhash field4 hello (integer) 1 127.0.0.1:6379> hsetnx myhash field4 word (integer) 0 127.0.0.1:6379>
使用场景:
- 分布式锁:存在则加1,不存在则减1。
- 变更数据,尤其是用户信息之类的保存,经常变动信息!
hash更适合于对象的存储。String更适合字符串存储。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?