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

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

1、add(K key, V… values)

向变量中批量添加值。

redisTemplate.opsForSet().add("setValue","A","B","C","B","D","E","F");

2、members(K key)

获取变量中的值。

Set set = redisTemplate.opsForSet().members("setValue");
System.out.println("通过members(K key)方法获取变量中的元素值:" + set);

3、size(K key)

获取变量中值的长度。

long setLength = redisTemplate.opsForSet().size("setValue");
System.out.println("通过size(K key)方法获取变量中元素值的长度:" + setLength);

4、randomMember(K key)

随机获取变量中的元素。

Object randomMember = redisTemplate.opsForSet().randomMember("setValue");
System.out.println("通过randomMember(K key)方法随机获取变量中的元素:" + randomMember);

5、randomMembers(K key, long count)

随机获取变量中指定个数的元素。

List randomMembers = redisTemplate.opsForSet().randomMembers("setValue",2);
System.out.println("通过randomMembers(K key, long count)方法随机获取变量中指定个数的元素:" + randomMembers);

6、isMember(K key, Object o)

检查给定的元素是否在变量中。

boolean isMember = redisTemplate.opsForSet().isMember("setValue","A");
System.out.println("通过isMember(K key, Object o)方法检查给定的元素是否在变量中:" + isMember);

7、move(K key, V value, K destKey)

转移变量的元素值到目的变量。

boolean isMove = redisTemplate.opsForSet().move("setValue","A","destSetValue");
if(isMove){set = redisTemplate.opsForSet().members("setValue");System.out.print("通过move(K key, V value, K destKey)方法转移变量的元素值到目的变量后的剩余元素:" + set);set = redisTemplate.opsForSet().members("destSetValue");System.out.println(",目的变量中的元素值:" + set);
}

8、pop(K key)

弹出变量中的元素。

Object popValue = redisTemplate.opsForSet().pop("setValue");
System.out.print("通过pop(K key)方法弹出变量中的元素:" + popValue);
set = redisTemplate.opsForSet().members("setValue");
System.out.println(",剩余元素:" + set)

9、remove(K key, Object… values)

​ 批量移除变量中的元素。

long removeCount = redisTemplate.opsForSet().remove("setValue","E","F","G");
System.out.print("通过remove(K key, Object... values)方法移除变量中的元素个数:" + removeCount);
set = redisTemplate.opsForSet().members("setValue");
System.out.println(",剩余元素:" + set);

10、scan(K key, ScanOptions options)

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

//Cursor<Object> cursor = redisTemplate.opsForSet().scan("setValue", ScanOptions.NONE);
Cursor<Object> cursor = redisTemplate.opsForSet().scan("setValue", ScanOptions.scanOptions().match("C").build());
while (cursor.hasNext()){Object object = cursor.next();System.out.println("通过scan(K key, ScanOptions options)方法获取匹配的值:" + object);
}

11、difference(K key, Collection otherKeys)

通过集合求差值。

List list = new ArrayList();
list.add("destSetValue");
Set differenceSet = redisTemplate.opsForSet().difference("setValue",list);
System.out.println("通过difference(K key, Collection<K> otherKeys)方法获取变量中与给定集合中变量不一样的值:" + differenceSet);

12、difference(K key, K otherKey)

通过给定的key求2个set变量的差值。

differenceSet = redisTemplate.opsForSet().difference("setValue","destSetValue");
System.out.println("通过difference(K key, Collection<K> otherKeys)方法获取变量中与给定变量不一样的值:" + differenceSet);

13、differenceAndStore(K key, K otherKey, K destKey)

将求出来的差值元素保存。

redisTemplate.opsForSet().differenceAndStore("setValue","destSetValue","storeSetValue");
set = redisTemplate.opsForSet().members("storeSetValue");
System.out.println("通过differenceAndStore(K key, K otherKey, K destKey)方法将求出来的差值元素保存:" + set);

14、differenceAndStore(K key, Collection otherKeys, K destKey)

将求出来的差值元素保存。

redisTemplate.opsForSet().differenceAndStore("setValue",list,"storeSetValue");
set = redisTemplate.opsForSet().members("storeSetValue");
System.out.println("通过differenceAndStore(K key, Collection<K> otherKeys, K destKey)方法将求出来的差值元素保存:" + set);

15、distinctRandomMembers(K key, long count)

获取去重的随机元素。

set = redisTemplate.opsForSet().distinctRandomMembers("setValue",2);
System.out.println("通过distinctRandomMembers(K key, long count)方法获取去重的随机元素:" + set);

16、intersect(K key, K otherKey)

获取2个变量中的交集。

set = redisTemplate.opsForSet().intersect("setValue","destSetValue");
System.out.println("通过intersect(K key, K otherKey)方法获取交集元素:" + set);

17、intersect(K key, Collection otherKeys)

获取多个变量之间的交集。

set = redisTemplate.opsForSet().intersect("setValue",list);
System.out.println("通过intersect(K key, Collection<K> otherKeys)方法获取交集元素:" + set);

18、intersectAndStore(K key, K otherKey, K destKey)

获取2个变量交集后保存到最后一个参数上。

redisTemplate.opsForSet().intersectAndStore("setValue","destSetValue","intersectValue");
set = redisTemplate.opsForSet().members("intersectValue");
System.out.println("通过intersectAndStore(K key, K otherKey, K destKey)方法将求出来的交集元素保存:" + set);

19、intersectAndStore(K key, Collection otherKeys, K destKey)

获取多个变量的交集并保存到最后一个参数上。

redisTemplate.opsForSet().intersectAndStore("setValue",list,"intersectListValue");
set = redisTemplate.opsForSet().members("intersectListValue");
System.out.println("通过intersectAndStore(K key, Collection<K> otherKeys, K destKey)方法将求出来的交集元素保存:" + set);

20、union(K key, K otherKey)

获取2个变量的合集。

set = redisTemplate.opsForSet().union("setValue","destSetValue");
System.out.println("通过union(K key, K otherKey)方法获取2个变量的合集元素:" + set);

21、union(K key, Collection otherKeys)

获取多个变量的合集。

set = redisTemplate.opsForSet().union("setValue",list);
System.out.println("通过union(K key, Collection<K> otherKeys)方法获取多个变量的合集元素:" + set);

22、unionAndStore(K key, K otherKey, K destKey)

获取2个变量合集后保存到最后一个参数上。

redisTemplate.opsForSet().unionAndStore("setValue","destSetValue","unionValue");
set = redisTemplate.opsForSet().members("unionValue");
System.out.println("通过unionAndStore(K key, K otherKey, K destKey)方法将求出来的交集元素保存:" + set);

23、unionAndStore(K key, Collection otherKeys, K destKey)

获取多个变量的合集并保存到最后一个参数上。

redisTemplate.opsForSet().unionAndStore("setValue",list,"unionListValue");
set = redisTemplate.opsForSet().members("unionListValue");
System.out.println("通过unionAndStore(K key, Collection<K> otherKeys, K destKey)方法将求出来的交集元素保存:" + set);

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

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

相关文章

中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…

Java8 - 使用 Comparator.comparing 进行排序

使用外部比较器Comparator进行排序 当我们需要对集合的元素进行排序的时候&#xff0c;可以使用java.util.Comparator 创建一个比较器来进行排序。Comparator接口同样也是一个函数式接口&#xff0c;我们可以把使用lambda表达式。如下示例&#xff0c; package com.common;im…

cairo填充_Cairo 图形指南 (5) —— 形状与填充

这一部分&#xff0c;讲述一些基本的以及较为高级的形状绘制及其纯色 (solid color)、图案 (pattern) 与渐变 (gradient) 填充方法。基本形状Cairo 提供了几个用于绘制基本形状的函数。#include#include#includestatic gbooleanon_expose_event (GtkWidget * widget,GdkEventEx…