zoukankan      html  css  js  c++  java
  • (六)Redis之数据结构之Set

    一、常用方法

    • 和List类型不同的是,Set集合中不允许出现重复的元素
    1. 添加/删除元素
    2. 获取集合中的元素
    3. 集合中的差集运算
    4. 集合中的交集运算
    5. 集合中的并集元算
    6. 扩展命令

      1和2  添加/删除元素和获取集合中的元素和是否该元素

    package myRedis01;
    
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    import org.junit.After;
    import org.junit.Test;
    
    import redis.clients.jedis.Jedis;
    
    public class JedisTest {
         
         Jedis jedis=new Jedis("127.0.0.1",6379); // 创建客户端 设置IP和端口
        
     
         /**
          * 添加/删除元素
          */
        @Test
        public void addAndDel() {
            /**
             * set中添加和获取
             */
            jedis.sadd("set1","a","b","c");
            jedis.sadd("set1","a","d","e");
            
            System.out.println("不会出现重复的元素:"+"	"+jedis.smembers("set1"));
            
            /**
             * 删除元素
             */
            jedis.srem("set1", "d","e");
            System.out.println("删除两个元素后:"+"	"+jedis.smembers("set1"));
            
            /**
             * 判断某个元素是否存在
             */
            boolean flag=jedis.sismember("set1", "a");
            System.out.println("是否存在该元素"+"	"+flag);
            
        }
         
      
         @After
         public void close() {
             jedis.close();
         }
         
    }

       3和4和5  计算差、交、并集

        /**
         * 计算差、交、并集
         */
        @Test
        public void scal() {
            
            jedis.sadd("set5", "a", "b", "c");
            jedis.sadd("set6", "b", "c", "d");
            
            /**
             * 差集
             * jedis.sdiff("set2","set3") 结果返回set2有但是set3没有的元素
             */
            Set<String> sets=jedis.sdiff("set5","set6");
            System.out.println("计算差集");
            for(String str:sets) {
                System.out.println(str);
            }
            System.out.println("============");
            
            /**
             * 交集
             */
            System.out.println("计算交集");
            Set<String> sets2=jedis.sinter("set5","set6");
            for(String str:sets2) {
                System.out.println(str);
            }
            System.out.println("============");
            
            /**
             * 计算并集
             */
            System.out.println("计算并集");
            
            Set<String> sets3=jedis.sunion("set5","set6");
            for(String str:sets3) {
                System.out.println(str);
            }
            
            System.out.println("============");
            
        }

       6.  扩展命令

    /**
         *  扩展命令
         */
        @Test
        public void other() {
            /**
             * 计算元素总数
             */
            jedis.sadd("set7", "b", "c", "d","e");
            
            long sum=jedis.scard("set7");
            System.out.println("元素总数为:"+"	"+sum);
            
            /**
             * 随机取一个元素
             */
            
            String rand=jedis.srandmember("set7");
            System.out.println("随机取一个元素"+"	"+rand);
            
        }

  • 相关阅读:
    traceroute命令
    ifconfig命令
    netstat命令
    ps命令
    Vue3.0新特性
    Shadow DOM的理解
    解决ufw下pptp客户端连接问题
    Event对象
    java面试一日一题:讲下mysql中的索引
    java面试一日一题:讲下mysql中的redo log
  • 原文地址:https://www.cnblogs.com/shyroke/p/8007233.html
Copyright © 2011-2022 走看看