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- ...
随机推荐
- break与continue,return结束循环区别
break是跳出一层循环,continue是结束一趟循环 ,return才是结束所有层循环! 如果有多层for循环,break会跳出当前这一层,去执行最外层循环(而不是退出所有层循环);而contin ...
- c# 对html字符串进行编码
/// <summary> /// 对html字符串进行编码 /// </summary> /// <param name="html">htm ...
- hive 中date命令
- FireFox升级后FireBug不能使用
今天发现,火狐浏览器从49.0.2升级到50.0.2之后,firebug的js调试被禁用了,果断去找49.0.2的版本. 链接: https://ftp.mozilla.org/pub/firefox ...
- JavaSE List集合
我们掌握了Collection接口的使用后,再来看看Collection接口中的子接口和实现类,他们都具备那些特性呢? 接下来,我们一起学习Collection中的常用几个子接口: java.ut ...
- 网络编程学习二(IP与端口)
InetAddress类 封装计算机的ip地址,没有端口 // 使用getLocalHost方法创建InetAddress对象 InetAddress addr = InetAddress.getLo ...
- 【读书笔记】iOS-开发者证书
虽然使用通配符听起来很赞,但问题是使用这种App ID的应用无法使用苹果的Push Notification服务以及应用内支付服务. 如果你有钱的话,建议单独买一个设备用于开发,将来你可能会安装iOS ...
- 02--css背景与边框--css揭秘
背景与边框 一 半透明边框 rgba/hsla颜色 1.难题 假设我们想给一个容器设置一层白色背景和一道半透明白色边框,body 的背景会从它的半透明边框透上来.我们最开始的尝试可能是这样的: #bo ...
- Jni 线程JNIEnv,JavaVM,JNI_OnLoad(GetEnv返回NULL?FindClass返回NULL?)
此文章是关于NDK线程的第二篇理论知识笔记.主要有两个点,如下: 1.pthread_create(Too many arguements, expected 1) ?2.线程中如何获取JNIEnv? ...
- 洗礼灵魂,修炼python(33)--面向对象编程(3)—特殊类方法__init__,公有属性,私有属性
在上一篇博文里,传入参数时,是在实例化对象后且在调用方法时才传入参数,感觉是不是有点繁琐对吧?可以在实例化的时候就传入参数吗?可以的,这就是本篇博文的要讲到的构造器——__init__(两边双下划线) ...