redis中hash哈希类型常用命令
redis中hash哈希类型常用命令
Redis hash 是一个键值对集合,是一个string类型的field和value的映射表,类似Java里面的Map<String,Object>,特别适合用于存储对象
下面介绍一些Hash类型的常用命令
- 新增键值对:hset key field1 value1 field2 value2 field3 value3......,eg:
127.0.0.1:6379> hset user id 1 age 18 name zhangsan
(integer) 3
低版本(redis 4.0.0之前)的hset一次只能设置一个键值对(field-value),同时设置多个键值对需要用到hmset;但是高版本(redis 4.0.0)的hmset被弃用,hset已经支持同时设置多个键值对了
- 查询指定key对应hash中的指定field对应的值:hget key field,eg:
127.0.0.1:6379> hget user name
"zhangsan"
- 同时查询指定key对应hash中的多个field对应的值:hmget key field1 field2......,eg:
127.0.0.1:6379> hmget user name age
1) "zhangsan"
2) "18"
- 查询指定key对应hash中的所有元素:hgetall key,eg:
127.0.0.1:6379> hgetall user
1) "id"
2) "1"
3) "age"
4) "18"
5) "name"
6) "zhangsan"
- 查询指定key对应hash的指定field是否存在:hexists key field,eg:
127.0.0.1:6379> hgetall user
1) "id"
2) "1"
3) "age"
4) "18"
5) "name"
6) "zhangsan"
127.0.0.1:6379> hexists user name
(integer) 1
127.0.0.1:6379> hexists user password
(integer) 0
- 查询指定key对应hash中的所有field:hkeys key,eg:
127.0.0.1:6379> hkeys user
1) "id"
2) "age"
3) "name"
- 查询指定key对应hash中的所有value:hvals key,eg:
127.0.0.1:6379> hvals user
1) "1"
2) "18"
3) "zhangsan"
- 查询指定key对应的hash中的元素个数:hlen key,eg:
127.0.0.1:6379> hkeys user
1) "id"
2) "age"
3) "name"
127.0.0.1:6379> hlen user
(integer) 3
- 删除指定key对应hash中的指定field:hdel key field,eg:
127.0.0.1:6379> hkeys user
1) "id"
2) "age"
3) "name"
127.0.0.1:6379> hdel user age
(integer) 1
127.0.0.1:6379> hkeys user
1) "id"
2) "name"
- 使指定key对应hash的指定field对应的value+n(value必须是数字类型,n可以是负数):hincrby key field n,eg:
127.0.0.1:6379> hget user id
"1"
127.0.0.1:6379> hincrby user id 2
(integer) 3
127.0.0.1:6379> hget user id
"3"
127.0.0.1:6379> hincrby user id -1
(integer) 2
127.0.0.1:6379> hget user id
"2"
127.0.0.1:6379> hget user name
"zhangsan"
127.0.0.1:6379> hincrby user name 2
(error) ERR hash value is not an integer
- 往指定key中添加filed和value,如果已存在则不添加:
127.0.0.1:6379> hkeys user
1) "id"
2) "name"
127.0.0.1:6379> hsetnx user age 18
(integer) 1
127.0.0.1:6379> hgetall user
1) "id"
2) "2"
3) "name"
4) "zhangsan"
5) "age"
6) "18"
127.0.0.1:6379> hsetnx user name lisi
(integer) 0
127.0.0.1:6379> hgetall user
1) "id"
2) "2"
3) "name"
4) "zhangsan"
5) "age"
6) "18"
记得快乐
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!