RedisTemplate常用集合使用说明-opsForHash(四)

基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)》中已经介绍了,现在我们直接介绍opsForHash()方法的使用:

1、put(H key, HK hashKey, HV value)

新增hashMap值。

redisTemplate.opsForHash().put("hashValue","map1","map1-1");
redisTemplate.opsForHash().put("hashValue","map2","map2-2");

2、values(H key)

获取指定变量中的hashMap值。

List<Object> hashList = redisTemplate.opsForHash().values("hashValue");
System.out.println("通过values(H key)方法获取变量中的hashMap值:" + hashList);

3、entries(H key)

获取变量中的键值对。

Map<Object,Object> map = redisTemplate.opsForHash().entries("hashValue");
System.out.println("通过entries(H key)方法获取变量中的键值对:" + map);

4、get(H key, Object hashKey)

获取变量中的指定map键是否有值,如果存在该map键则获取值,没有则返回null。

Object mapValue = redisTemplate.opsForHash().get("hashValue","map1");
System.out.println("通过get(H key, Object hashKey)方法获取map键的值:" + mapValue);

5、hasKey(H key, Object hashKey)

判断变量中是否有指定的map键。

boolean hashKeyBoolean = redisTemplate.opsForHash().hasKey("hashValue","map3");
System.out.println("通过hasKey(H key, Object hashKey)方法判断变量中是否存在map键:" + hashKeyBoolean);

6、keys(H key)

​ 获取变量中的键。

Set<Object> keySet = redisTemplate.opsForHash().keys("hashValue");
System.out.println("通过keys(H key)方法获取变量中的键:" + keySet);

7、size(H key)

​ 获取变量的长度。

long hashLength = redisTemplate.opsForHash().size("hashValue");
System.out.println("通过size(H key)方法获取变量的长度:" + hashLength);

8、increment(H key, HK hashKey, double delta)

​ 使变量中的键以double值的大小进行自增长。

double hashIncDouble = redisTemplate.opsForHash().increment("hashInc","map1",3);
System.out.println("通过increment(H key, HK hashKey, double delta)方法使变量中的键以值的大小进行自增长:" + hashIncDouble);

9、increment(H key, HK hashKey, long delta)

使变量中的键以long值的大小进行自增长。

long hashIncLong = redisTemplate.opsForHash().increment("hashInc","map2",6);
System.out.println("通过increment(H key, HK hashKey, long delta)方法使变量中的键以值的大小进行自增长:" + hashIncLong);

10、multiGet(H key, Collection hashKeys)

​ 以集合的方式获取变量中的值。

List<Object> list = new ArrayList<Object>();
list.add("map1");
list.add("map2");
List mapValueList = redisTemplate.opsForHash().multiGet("hashValue",list);
System.out.println("通过multiGet(H key, Collection<HK> hashKeys)方法以集合的方式获取变量中的值:"+mapValueList);

11、putAll(H key, Map<? extends HK,? extends HV> m)

以map集合的形式添加键值对。

Map newMap = new HashMap();
newMap.put("map3","map3-3");
newMap.put("map5","map5-5");
redisTemplate.opsForHash().putAll("hashValue",newMap);
map = redisTemplate.opsForHash().entries("hashValue");
System.out.println("通过putAll(H key, Map<? extends HK,? extends HV> m)方法以map集合的形式添加键值对:" + map);

12、putIfAbsent(H key, HK hashKey, HV value)

​ 如果变量值存在,在变量中可以添加不存在的的键值对,如果变量不存在,则新增一个变量,同时将键值对添加到该变量。

redisTemplate.opsForHash().putIfAbsent("hashValue","map6","map6-6");
map = redisTemplate.opsForHash().entries("hashValue");
System.out.println("通过putIfAbsent(H key, HK hashKey, HV value)方法添加不存在于变量中的键值对:" + map);

13、scan(H key, ScanOptions options)

​ 匹配获取键值对,ScanOptions.NONE为获取全部键对,ScanOptions.scanOptions().match(“map1”).build() 匹配获取键位map1的键值对*,*不能模糊匹配。

Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.scanOptions().match("map1").build());
//Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.NONE);
while (cursor.hasNext()){Map.Entry<Object,Object> entry = cursor.next();System.out.println("通过scan(H key, ScanOptions options)方法获取匹配键值对:" + entry.getKey() + "---->" + entry.getValue());
}

14、delete(H key, Object… hashKeys)

删除变量中的键值对,可以传入多个参数,删除多个键值对*。*

redisTemplate.opsForHash().delete("hashValue","map1","map2");
map = redisTemplate.opsForHash().entries("hashValue");
System.out.println("通过delete(H key, Object... hashKeys)方法删除变量中的键值对后剩余的:" + map);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555642.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

发明喂饭机器人_人类又懒出新高度,老美发明自动喂饭机器人,“君子”动嘴不动手...

近年来&#xff0c;各式各样的智能机器人层出不穷&#xff0c;多数都是为了方便人们的日常生活。近日&#xff0c;美国一机器人公司&#xff0c;为残障人士和重症疾病患者设计了一款智能喂饭机器人&#xff1a;Obi。这款机器人拥有全白的外观&#xff0c;它的机械臂可以将饭菜直…

RedisTemplate常用集合使用说明-opsForSet(五)

基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)》中已经介绍了&#xff0c;现在我们直接介绍opsForSet()方法的使用&#xff1a; 1、add(K key, V… values) 向变量中批量添加值。 redisTemplate.opsForSet().add("setValue","A","…

中provide的用法_Vue中那些你不知道的作用域

作用域控制可以使用哪些变量以及在何处使用。它控制它们对应用程序的不同部分的“可见性”。了解 Vue 提供的作用域级别之间的差异会帮助我们编写更清晰的代码。下面是 vue 中4个级别的作用域&#xff1a;全局作用域子树作用域组件作用域实例作用域全局作用域Vue 应用程序中的全…

RedisTemplate常用集合使用说明-opsForZSet(六)

基础配置介绍已经在前面的《RedisTemplate常用集合使用说明(一)]》中已经介绍了&#xff0c;现在我们直接介绍opsForZSet()方法的使用&#xff1a; 1、add(K key, V value, double score) 添加元素到变量中同时指定元素的分值。 redisTemplate.opsForZSet().add("zSetV…

树叶贴画机器人_洪山广场举办“落叶节”,树叶树枝拼贴出冬日风景

楚天都市报11月30日讯(记者卢成汉 通讯员谢助全 彭雪琴)秋天飘落的树叶树枝&#xff0c;经过拼贴&#xff0c;变成了有趣的图案。29日&#xff0c;洪山广场举行的“落叶节”上&#xff0c;小学生们的树叶作品&#xff0c;拼贴成冬日的风景。当天&#xff0c;小学生们将在洪山广…

Java volatile关键字最全总结:原理剖析与实例讲解(简单易懂)

文章目录一、简介二、并发编程的3个基本概念1.原子性2.可见性3.有序性三、锁的互斥和可见性四、Java的内存模型JMM以及共享变量的可见性五、volatile变量的特性1.保证可见性&#xff0c;不保证原子性2.禁止指令重排六、volatile不适用的场景1.volatile不适合复合操作2.解决方法…

云服务器如何链接本地打印机_利用FileZilla搭建云服务器FTP服务端和本地客户端...

腾讯云服务器&#xff08;服务端&#xff09;本地计算机&#xff08;客户端&#xff09;1.首先在腾讯云上下载好FileZilla的对应服务端版本这里附上中文下载地址下载 - FileZilla中文网​www.filezilla.cn2.下载安装完成后打开默认下一步就好3.然后点击这个小头像进行账户设置首…

多线程之CAS与synchronized的比较

业务场景&#xff1a;需要实现一个支持并发的计数功能 1、计数功能的基本实现是&#xff1a; public class Increment{private int count 0;public void add(){ count; }}2、以上实现在并发环境下是不安全的&#xff0c;故修改方案1是加锁synchronized&#xff1a; publi…

6 日期字符串转日期_山西省导游协会关于发放电子导游证的通知 (生成日期为2020年5月28日2020年6月3日)...

各位会员、导游同仁们&#xff1a;山西省导游协会电子导游证(生成日期为&#xff1a;2020年5月28日-2020年6月3日)已制作完成&#xff0c;为保障电子导游证发放工作顺利进行&#xff0c;现将发放电子导游证有关事项通知如下&#xff1a;一、领取人员手机&#xff21;&#xff3…

CAS和Synchronized知识

一. CAS 何为CAS。 CAS&#xff08;Compare And Swap &#xff09;是乐观锁的一种实现方式&#xff0c;是一种轻量级锁。JAVA1.5开始引入了CAS&#xff0c;JUC下很多工具类都是基于CAS。 CAS的实现方式 CAS有3个操作数&#xff0c;内存值V&#xff0c;旧的预期值A&#xff0…

自动设置图片的序号_编写学位论文时如何给表格和图片自动编号

引言最近和论文格式的检测系统斗智斗勇&#xff0c;可以说是摸清了系统的脾气并且能够把错误数控制在0。其中&#xff0c;论文正文的表格和图片自动编号的问题还是挺有意思的&#xff0c;特此记录一下。需求对于表格&#xff0c;系统要求表格题注处于表格*上方*&#xff0c;并按…

使用CAS代替synchronized

在开发当中需要经常用到synchronized保证代码线程安全&#xff0c;在竞争条件下会阻塞等待资源&#xff0c;如果允许竞争不到资源返回失败&#xff0c;就可以使用cas减少阻塞时间。先来看一个cas的单例模式。 public class NonBlock {private static volatile NonBlock nonBlo…

uniapp 获取图片的高度_uni-app获取元素高度等信息,并设置元素top信息

本文主要简介uni-app获取元素信息及设置信息等获取元素高度可查看官方文档mounted() {const query uni.createSelectorQuery().in(this);query.select(#editor).boundingClientRect(data > {console.log(data)}).exec();},这里的data用于获取这个元素大小及位置信息&#x…

关于java中线程yield()方法问题

关于java中线程yield()方法问题 问题一&#xff1a; 我知道yield是用来休眠当前线程&#xff0c;但我查看了资料&#xff0c;又说其不会释放锁&#xff0c;所以我就不解了&#xff0c;其明明会将cpu资源给其他线程&#xff0c;那它不释放锁&#xff0c;其他线程有怎么获取cpu资…

Lisp尺寸标注增加前后缀_求一CAD标注加前缀与后缀lisp

回答&#xff1a;1.计算所有线段总长度(加载后只需框选所有线段便可得出这些线段的总长度)(defun c:LL ()(setvar "cmdecho" 1)(setq en (ssget(list (0 . "spline,arc,line,ellipse,LWPOLYLINE"))))(setq i 0)(setq ll 0)(repeat (sslength en)(setq ss (…

beetl 页面标签_05.Beetl标签函数以及定界符、占位符介绍---《Beetl视频课程》

标签函数 layout所谓标签函数&#xff0c;即允许处理模板文件里的一块内容&#xff0c;功能等于同jsp tag。如Beetl内置的layout标签index.htmllayout("/inc/layout.html",{title:主题}){%>Hello,this is main partlayout.htmltitle is ${title}body content ${la…

hql实例 jpa_SpringBoot学习笔记九:Spring Data Jpa的使用

Spring Data Jpa 简介JPAJPA(Java Persistence API)意即Java持久化API&#xff0c;是Sun官方在JDK5.0后提出的Java持久化规范(JSR 338&#xff0c;这些接口所在包为javax.persistence&#xff0c;详细内容可参考https://github.com/javaee/jpa-spec)JPA的出现主要是为了简化持久…

Objects.requireNonNull 方法说明

在写代码的时候,Idea经常会提醒我们可以使用这个方法来进行参数非空检查, 这个方法的源码也非常简单, 如下所示: /*** Checks that the specified object reference is not {code null}. This* method is designed primarily for doing parameter validation in methods* and …

Java service层获取HttpServletRequest工具类的方法

大家都知道 能在Controller/action层获取HttpServletRequest &#xff0c;但是这里给大家备份的是从代码内部service层获取HttpServletRequest工具类。 具体如下&#xff1a; package com.base.common.sessionutils; import javax.servlet.http.HttpServletRequest; import j…

正则表达式发明者_浅谈正则表达式背后的基本原理

一、写在前面搞编程的都知道正则表达式是什么东西&#xff0c;这里就不多啰嗦了&#xff0c;需要强调的是&#xff0c;这篇文章并不是教你怎么去使用用正则表达式&#xff0c;正则表达式的语法并不是本文的重点&#xff0c;这篇文章的目的就是剥开正则表达式的语法糖&#xff0…