zoukankan      html  css  js  c++  java
  • 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]
    }
    
    }
  • 相关阅读:
    从一个表中查数据,插入另一个表
    sql 字段字符串内容替换
    安装VS2010后,如何设置老版本的项目文件不是默认用VS2010打开
    题解 [JOI 2019 Final] 独特的城市
    题解 [JOI 2019 Final] 硬币收藏
    题解 [CF720A] Closing ceremony
    [学习笔记] Miller-Rabin 质数测试
    题解 [CF332C] Students' Revenge
    题解 [CF525D] Arthur and Walls
    SpringMVC-拦截器
  • 原文地址:https://www.cnblogs.com/leodaxin/p/7514763.html
Copyright © 2011-2022 走看看