RedisTemplet opsForHash中方法使用说明

这篇具有很好参考价值的文章主要介绍了RedisTemplet opsForHash中方法使用说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

介绍

opsForHash主要用于操作Redis的hash的,使用方式:redisTemplate.opsForHash().方法名,比如

redisTemplate.opsForHash().delete("field");

以下各方法皆来自于Redis的命令,命令详细介绍参考https://blog.csdn.net/ppjsyw/article/details/125087623

一、设值

1.设置一个field

相关命令

hset key field value

方法

void put(H key, HK hashKey, HV value);

参数说明

  • key:键名
  • hashKey:字段名
  • value:值

示例

redisTemplate.opsForHash().put("key","field","value");

2.设置多个field

相关命令

hset key field value [field value …]

方法
void putAll(H key, Map<? extends HK, ? extends HV> m);
说明
  • key:键名

  • m:多个键值对的map

示例

Map map=new HashMap();
map.put("k1","v1");
map.put("k2","v2");

redisTemplate.opsForHash().putAll("key",map);

3.当field不存在时设置

相关命令

hsetnx key field value

方法
Boolean putIfAbsent(H key, HK hashKey, HV value);
参数说明
  • 返回值:field存在为0,否则为1
  • key:键名
  • hashKey:字段名
  • value:值

示例

redisTemplate.opsForHash().setIfPresent("key","field","value");

二.获取

1.获取field的值

相关命令

hget key field

方法

HV get(H key, Object hashKey);

说明

  • 返回值:field的值
  • key:键名
  • hashKey:字段名

示例

redisTemplate.opsForHash().get("key","field");

2.获取多个field的值

相关命令

hmget key field [field …]

方法

List<HV> multiGet(H key, Collection<HK> hashKeys);

说明

  • 返回值:多个field的值
  • key:键名
  • hashKeys:多个字段名

示例

List<String> list=new ArrayList<>();
list.add("k1");
list.add("k2");

redisTemplate.opsForHash().multiGet("key",list);

3.获取所有的field和value

相关命令

hgetall key

方法

Map<HK, HV> entries(H key);

说明

  • 返回值:存储了键值对的一个map
  • key:键名

示例

redisTemplate.opsForHash().entries("key");

4.获取key的所有field

相关命令

hkeys key

方法

Set<HK> keys(H key);

说明

  • 返回值:key的所有field
  • key:键名

示例

redisTemplate.opsForHash().keys("key");

5.获取key的所有value

相关命令

hvals key

方法

List<HV> values(H key);

说明

  • 返回值:key的所有值
  • key:键名

示例

redisTemplate.opsForHash().values("key");

三 .自增

1. 整数

相关命令

hincrby key field increment

方法

Long increment(H key, HK hashKey, long delta);

说明

  • 返回值:自增后的值
  • key:键名
  • hashKey:字段名
  • delta:要自增的数字

示例

redisTemplate.opsForHash().increment("key","field",10);

2. 小数

相关命令

hincrbyfloat key field increment

方法

Double increment(H key, HK hashKey, double delta);

说明

  • 返回值:自增后的值
  • key:键名
  • hashKey:字段名
  • delta:要自增的数字

示例

redisTemplate.opsForHash().increment("key","field",10.3);

三.随机

1.随机获取一个field

相关命令

hrandfield key [count [withvalues]]

方法

HK randomKey(H key);

说明

  • 返回值:字段名
  • key:键名

示例

redisTemplate.opsForHash().randomKey("key");

2.随机获取一个field并带value

相关命令

hrandfield key [count [withvalues]]

方法

Entry<HK, HV> randomEntry(H key);

说明

  • 返回值:字段名和值
  • key:键名

示例

redisTemplate.opsForHash().randomEntry("key");

3.随机获取多个field

相关命令

hrandfield key [count [withvalues]]

方法

List<HK> randomKeys(H key, long count);

说明

  • 返回值:多个字段名
  • key:键名
  • count:需要获取几个field

示例

redisTemplate.opsForHash().randomKeys("key",3);

4.随机获取多个field并带value

相关命令

hrandfield key [count [withvalues]]

方法

Map<HK, HV> randomEntries(H key, long count);

说明

  • 返回值:键值对的map
  • key:键名
  • count:需要获取几个field

示例

redisTemplate.opsForHash().randomEntries("key",3);

五.其他

1.获取field有多少个

相关命令

hlen key

方法

Long size(H key);

说明

  • 返回值:field个数
  • key:键名

示例

redisTemplate.opsForHash().size("key");

2.获取field的值的长度

相关命令

hstrlen key field

方法

Long lengthOfValue(H key, HK hashKey);

说明

  • 返回值:值的长度
  • key:键名
  • hashKey:字段名

示例

redisTemplate.opsForHash().lengthOfValue("key","field");

3.删除field

相关命令

hdel key field [field …]

方法

Long delete(H key, Object... hashKeys);

说明

  • 返回值:成功删除的field个数
  • key:键名
  • keys:要删除的字段名

示例

redisTemplate.opsForHash().delete("key","field1","field2");

4.field是否存在

相关命令

hexists key field

方法

Boolean hasKey(H key, Object hashKey);

说明

  • 返回值:存在为true,否则为false
  • key:键名
  • hashKey:字段名

示例

redisTemplate.opsForHash().hasKey("key","field");

5.迭代

相关命令

hscan key cursor [match pattern] [Count count]

方法

Cursor<Entry<HK, HV>> scan(H key, ScanOptions options);

说明

  • Cursor<Entry<HK, HV>>:键值对和游标

  • key:键名

  • options:迭代参数文章来源地址https://www.toymoban.com/news/detail-428793.html

    • ScanOptions.NONE:无任何参数
    • ScanOptions.scanOptions().match():匹配Match
    • ScanOptions.scanOptions().count():数量

示例

redisTemplate.opsForHash().scan("key",ScanOptions.scanOptions().match("*s*").build());

到了这里,关于RedisTemplet opsForHash中方法使用说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SOC系统经典IP介绍以及使用方法说明之dw_i2c

    第三章 DW_i2c功能及使用流程介绍 文章目录 前言 一、功能介绍 1.1 i2c写操作: 1.1.1 详细flow介绍 1.2 i2c读操作: 1.2.1 详细flow介绍 二、软件流程介绍 2.1 定义WDT中断服务子程序 2.2 定义main函数 三、总结      按照i2c的协议,i2c的时钟由master方提供,master可以向slave发送数据,也

    2024年02月03日
    浏览(44)
  • 【VxWorks】VxWorks系统详细介绍说明,环境搭建说明,使用场景,使用实例

    目录 1.VxWorks 概述 2.详细介绍 2.环境搭建说明 3.使用场景 4.使用实例         VxWorks 是一款实时操作系统(RTOS),广

    2024年02月15日
    浏览(39)
  • Mediapipe框架介绍及使用说明

            Mediapipe是Google开发的一款开源的跨平台框架,用于构建基于机器学习的应用程序,特别是涉及到计 算机视觉、音频处理、姿势估计 等领域。Mediapipe库提供了一系列预训练模型和工具,可以帮助开发者快速构建和部署计算机视觉和音频处理应用。它提供了一套易于

    2024年01月20日
    浏览(38)
  • [npm] npx 介绍与使用说明

    说到 npm 就离不开社区文化,那什么是社区文化? 社区文化的意思是:拥有共同职业或兴趣的人群,自发组织在一起,通过分享信息和资源进行合作与交流。虚拟社区的参与者经常会在线讨论相关话题,或访问某些网站。 世界上最大的社区应该就是 GitHub。通过 GitHub 来分享源

    2024年02月07日
    浏览(33)
  • speccpu测试工具介绍和使用说明

    目录 1. speccpu 测试工具 1.1. speccpu 简介 2. speccpu使用说明 2.1. speccpu安装运行 2.2. speccpu测试参数 2.3. 常用测试参数说明 2.4. 测试用例说明 3. speccpu结果分析 3.1. speccpu测试结果   speccpu 测试工具 speccpu 简介 CINT2006包括C编译程序、量子计算机仿真、下象棋程序等,CFP2006包括有限元

    2024年02月12日
    浏览(44)
  • TensorFlow 决策森林详细介绍和使用说明

    使用TensorFlow训练、调优、评估、解释和部署基于树的模型的完整教程 两年前TensorFlow (TF)团队开源了一个库来训练基于树的模型,称为TensorFlow决策森林(TFDF)。经过了2年的测试,他们在上个月终于宣布这个包已经准备好发布了,也就是说我们可以真正的开始使用了。所以这篇文

    2023年04月24日
    浏览(40)
  • Gitlab介绍及git使用说明(保姆级)

    GitLab 是一个基于 Git 的版本控制工具,并在此基础上搭建起来的Web服务,旨在提供一个全面的工作流程来帮助管理代码、协作和部署。 版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理。 以下是 GitLab 的主要功能之一: 代码管理:GitLab 允

    2024年02月08日
    浏览(41)
  • 【隔离器使用说明】光隔、磁隔、容隔三兄弟介绍

    本文简单介绍常用隔离器的类型和特点,是根据网络知识整理出来的== 有错误的话请一定评论留言哦~ 隔离 与可靠保护有关。电隔离是一种电路设计技术,允许两个电路进行通信,可消除在它们之间流动的任何不需要的直流电和交流电。电隔离确保数据传输不是通过电气连接

    2024年02月11日
    浏览(43)
  • 安卓调试|入门扫盲必备adb调试工具介绍、安装使用说明

    欢迎关注「 全栈工程师修炼指南 」公众号 点击 👇  下方卡片  即可关注我哟! 设为 「 星标⭐ 」 每天带你  基础入门  到  进阶实践  再到  放弃学习 ! “    花开堪折直须折,莫待无花空折枝 。   ” 作者主页:[ https://www.weiyigeek.top ]   博客:[ https://blog.weiyigeek.to

    2024年02月06日
    浏览(54)
  • 微信小程序常用弹框介绍及使用案例说明

    显示消息提示框 属性 类型 默认值 必填 说明 最低版本 title string 是 提示的内容 icon string success 否 图标 合法值 说明 最低版本 success 显示成功图标,此时 title 文本最多显示 7 个汉字长度 error 显示失败图标,此时 title 文本最多显示 7 个汉字长度 2.14.1 loading 显示加载图标,此

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包