Jedis关于Set的API Demo
package com.daxin.jedis_datastructure; import java.util.Set; import org.junit.After;
import org.junit.Before;
import org.junit.Test; import redis.clients.jedis.Jedis; /**
*
* @author daxin
*
* @email leodaxin@163com
*
* @date 2017年9月13日 上午8:19:22
*
*/
public class RedisSetOperation { Jedis jedis = null; @Before
public void before() {
jedis = RedisUtils.getJedis();
jedis.flushDB();
} @After
public void after() {
jedis.close();
} @Test
public void sadd() {
// 向集合添加一个或多个成员
Long r1 = jedis.sadd("set", "1", "2", "3");// 插入的个数
System.out.println(r1);
r1 = jedis.sadd("set", "1", "2", "3", "4", "5");
System.out.println(r1);
} @Test
public void scard() {
jedis.sadd("set", "1", "2", "3");// 插入的个数
Long r1 = jedis.scard("set");
System.out.println(r1);
} @Test
public void sdiff() {
jedis.sadd("set1", "1", "2", "3", "4", "5");// 插入的个数
jedis.sadd("set2", "1", "2", "3");// 插入的个数
jedis.sadd("set3", "1", "2", "4");// 插入的个数
Set<String> r1 = jedis.sdiff("set1", "set2", "set3");
System.out.println(r1);// 打印的是:[5]
} @Test
public void sdiff_smembers() {
jedis.sadd("set1", "1", "2", "3", "4", "5", "6", "7");// 插入的个数
System.out.println(jedis.smembers("set1"));// 打印set
System.out.println(jedis.smembers("set2"));// 返回一个size=0的java的set
} /**
*
*/
@Test
public void sdiff_store() {
jedis.sadd("set1", "1", "2", "3", "4", "5", "6", "7");// 插入的个数
jedis.sadd("set2", "1", "2", "3");// 插入的个数
jedis.sadd("set3", "1", "2", "4");
// 计算set1和减去set2减去set3的差值存储到set中
Long r1 = jedis.sdiffstore("set", "set1", "set2", "set3");
System.out.println(r1);
// set遍历其元素使用smember
System.out.println(jedis.smembers("set"));
} /**
* 计算交集
*/
@Test
public void sdiff_sinter() {
jedis.sadd("set1", "1", "2", "3", "4", "5", "6", "7");// 插入的个数
jedis.sadd("set2", "1", "2", "3");// 插入的个数
Set<String> r1 = jedis.sinter("set1", "set2");
System.out.println(r1);// [1, 2, 3]
} /**
* 计算交集,并存储到目标dest_set中
*/
@Test
public void sdiff_sinterstore() {
jedis.sadd("set1", "1", "2", "3", "4", "5", "6", "7");// 插入的个数
jedis.sadd("set2", "1", "2", "3");// 插入的个数
Long r1 = jedis.sinterstore("dest_set", "set1", "set2");
System.out.println(r1);// [1, 2, 3]
} @Test
public void sdiff_sismember() {
jedis.sadd("set", "1", "2", "3", "4", "5", "6", "7");// 插入的个数
Boolean r1 = jedis.sismember("set", "6");
System.out.println(r1);// [1, 2, 3]
} @Test
public void sdiff_smove() {
jedis.sadd("set", "1", "2", "3", "4", "5", "6", "7");// 插入的个数
Long r1 = jedis.smove("set", "destkey", "2");
System.out.println(jedis.smembers("set"));// [1, 2, 3]
System.out.println(jedis.smembers("destkey"));// [1, 2, 3]
} }
Jedis关于Set的API Demo的更多相关文章
- Kafka2.4发布——新特性介绍(附Java Api Demo代码)
新功能 允许消费者从最近的副本进行获取 为 Consumer Rebalance Protocol 增加对增量协同重新均衡(incremental cooperative rebalancing)的支 ...
- microwindows Win32 API demo
初次使用microwindows,资料有限,我也是费了很多功夫才明白.所以记录下来,好帮助那些爱学习的童鞋,另外请大虾们多多指教. 什么是microwindows,什么作用,等背景介绍我就不多说了,因 ...
- Azure Storage Rest API Demo
本文主要介绍如何使用C#基于Rest API 操作中国版Microsoft Azure Storage,涉及方法Put Blob.Get Blob以及Delete Blob,其它方法参考上面三种方法适 ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo
在上一篇里,我已经建立了一个简单的Web-Demo应用程序.这一篇将记录将此Demo程序改造成一个Web Api应用程序. 一.添加ASP.NET Core MVC包 1. 在project.json ...
- Google maps api demo
demo: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...
- ASP版_阿里大于短信API Demo
阿里大于申请地址:http://www.alidayu.com 阿里大于短信发送Demo: ******index.asp************* <%@LANGUAGE="VBSC ...
- javascript 百度地图API - demo
<!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...
- Google maps api demo 2
demo /** * @fileoverview Sample showing capturing a KML file click * and displaying the contents in ...
- Java Date API demo
package date; import java.text.DateFormat; import java.util.Calendar; import java.util.Date; /*2015- ...
随机推荐
- 解决SQL Server 2008安装时提示:重新启动计算机 失败
a.重启机器,再进行安装,如果发现还有该错误,请按下面步骤: b.在开始->运行中输入regedit c.到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet ...
- 浩顺考勤机二次开发(第二版,附实测可用的demo)
1.背景 之前写过一次浩顺考勤机的二次开发,不过那个版本还是有一些问题,后来更换了新的考勤机,又拿到了新的二次开发包,所以就有了这次这个版本 2.关于考勤机的一些说明 2.1 首先要给考勤机设定ip, ...
- C#编译错误 CS0009:未能打开元数据文件
C#编译错误 CS0009:未能打开元数据文件 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS0009: 未能 ...
- Ocelot中文文档-Route
路由(Routing) Ocelot主要功能是接收即将发来的请求并转发它们至下游服务.与此同时,以另一个http请求的形式(在将来这可能是任何传输的机制) Ocelot将一个请求的路由描述为另一个路由 ...
- elasticsearch6.7 05. Document APIs(9)Bulk API
8.Bulk API 可以把多个index或delete操作放在单个bulk API中执行.这样可以极大地提高索引速度. /_bulkAPI使用如下的JSON结构: action_and_meta_d ...
- Linux常用基本命令:三剑客命令之-awk模式用法(1)
再次回顾一下,awk基本语法格式: awk [options] 'Pattern {Action}' file1 file2 ··· 之前的文章有讲过两种Pattern(BEGIN, END),本文, ...
- vue项目sql图片动态路径引用问题
最近遇到一个vue动态图片路径的引用问题?明明路径是正确的但是却渲染不出图片!先看我慢慢说来!! 1.当我们把图片的路径放置在data(){return:{}}中的数组中的时候,然后通过v-for循环 ...
- lfs(systemv版本)学习笔记-第4页
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! lfs(systemv版本)学习笔记第3页:https://www.cnblogs.com/renren-study-notes ...
- Python 线程同步变量,同步条件,列队
条件变量同步 有一类线程需要满足条件之后才能够继续执行,Python提供了threading.Condition 对象用于条件变量线程的支持,它除了能提供RLock()或Lock()的方法外,还提供了 ...
- Spring表单验证(Spring Validation)
1.基本介绍 之前在项目中做的后台验证就是Spring Validation,最近闲下来了,就来整理一下. 从Spring3.0开始,Spring MVC中提供了对java校验的API支持.在Spri ...