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- ...
随机推荐
- MySQL之单表查询
一.关键字的执行优先级 1,from:找到表 2,where:拿着where指定的约束条件,去文件/表中取出一条条数据 3,group by:将取出的一条条数据进行分组,如果没有group by,则整 ...
- .Net实现微信公众平台开发接口(一) 之 “微信开发配置”
我们只要通过微信官方认证,成为开发者,才能实现微信提供的各种接口,否则即使调用了接口,微信也不会实现推送,功能也无法通过开发模式真正得到实现,所以需要正确配置微信信息,通过微信官方认证,成为开发者才可 ...
- eclipse + maven搭建SSM框架
0.系统环境 1)Windows 10 企业版 2)JDK 1.8.0_131 3)Eclipse Java EE IDE for Web Developers Version: Neon.3 Re ...
- 修改 this 指向
封装函数 f,使 f 的 this 指向指定的对象 function bindThis(f, oTarget) { if(f.bind){ return f.bind(oTarget); }else{ ...
- NoHttp封装--02 自定义请求
bean实体类请求: 1.bean import java.io.Serializable; import com.alibaba.fastjson.annotation.JSONField; pub ...
- Scala学习笔记2 (带着问题学习, 逐渐扩展。理解吃透scala.)
问题: 把 文本字符串"[1, 2, 3, 4, 5]" 转换成一个数组. 答案: val x = "[1, 2, 3, 4, 5]" val y =x sli ...
- JMeter—逻辑控制器(六)
参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第一节JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制,除仅一次控制器外,其他可以嵌套 ...
- python第四十九天--paramiko模块安装大作战
准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...
- 用python连接mysql失败总结
所用环境:python3,pycharm2018.2.4 先用mysql创建用户并授予相关权限 在我用python连接mysql时,一直提示连接不上,报错原因就是,用户没有被给予相关权限,比如查询,插 ...
- 扩展BootstapTable支持TreeGrid
(function ($) { 'use strict'; var sprintf = function (str) { var args = arguments, flag = true, i = ...