• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Y-wee
博客园    首页    新随笔    联系   管理     

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"
记得快乐
posted @ 2021-03-20 14:53  Y-wee  阅读(125)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3