redis的hash类型操作方法

一、介绍

  1. Hash是一个键值对的集合。Hash 是一个 String 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
  2. Hash存储结构优化:
  • 如果field数量较少,存储结构优化为类数组结构
  • 如果field数量较多,存储结构使用HashMap结构

二、原生操作

1.增加/修改【key的field的value】

  • 增加/修改
复制代码
hset key field value

  如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。 如果字段已经存在于哈希表中,旧值将被重写

  • 增加(多个)
复制代码
hmset key field1 value1 field2 value2……
  • 增加(锁,只有field不存在时生效)
复制代码
 hsetnx key field value

如果哈希表不存在,一个新的哈希表被创建并进行 hsetnx 操作。

如果字段已经存在于哈希表中,操作无效。

如果 key 不存在,一个新哈希表被创建并执行 hsetnx 命令

2.查询

  • 查询一个(key的field的value)
复制代码
hget key field
  • 查询所有field
复制代码
hkeys key
  • 查询所有value
复制代码
hvals key

3.删除【key的field】

  • 删除一个或多个
复制代码
hdel key field1 field2……

不存在的字段将被忽略

方法 判断指定key中是否存在field

复制代码
hexists key field

三、java操作redis的hash类型

1.修改

  • 重新命名当前key的名称
复制代码
redisTemplate.boundHashOps(key).rename("test");          

2.查询

  • 根据指定key中得键取出值
复制代码
System.out.println(redisTemplate.boundHashOps("demo").get("1"));
  • 根据指定key取出所有键
复制代码
Set<Object> keys = redisTemplate.boundHashOps("demo").keys();
  • 获取指定key中所有键值对得值
复制代码
List<Object> values = redisTemplate.boundHashOps("demo").values();
System.out.println(values);
  • 根据指定key取出全部键值对
复制代码
 Map&lt;Object, Object&gt; entries &#61; redisTemplate.boundHashOps(&#34;demo&#34;).entries();

3.删除

  • 根据指定key中得键删除
复制代码
redisTemplate.boundHashOps("demo").delete("1");
posted @   Vision-H  阅读(729)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示