码迷,mamicode.com
首页 > 其他好文 > 详细

set操作

时间:2018-04-30 13:39:28      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:members   print   lis   tee   pre   .com   lag   OLE   client   

 

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)

 

1.向集合添加一个或多个成员SADD key member1 [member2] 

技术分享图片

2.获取集合的成员数 SCARD key

技术分享图片

3.判断 member 元素是否是集合 key 的成员SISMEMBER key member 

技术分享图片

4.返回集合中的所有成员SMEMBERS key 

技术分享图片

5.移除集合中一个或多个成员SREM key member1 [member2] 

技术分享图片

6.移除并返回集合中的一个随机元素SPOP key count

技术分享图片

7.返回给定所有集合的差集SDIFF key1 [key2] 

技术分享图片

8.返回所有给定集合的并集SUNION key1 [key2] 

技术分享图片

9.返回给定所有集合的交集SINTER key1 [key2] 

技术分享图片

 

set代码操作:

技术分享图片
package com.study.util;

import java.util.Set;

import redis.clients.jedis.Jedis;

public class RedisSet {

    public static void main(String[] args) {
        Jedis jedis = RedisUtil.getJedis();
        
        //想集合set中添加a,b,c,d,e,f
        jedis.sadd("set", "a","b","c","d","e","f");
        //获取set集合元素
        Set<String> valueList = jedis.smembers("set");
        System.out.print("set集合元素:");
        for (String value : valueList) {
            System.out.print(value);
        }
        System.out.println();
        
        //获取set集合的成员数量
        long length = jedis.scard("set");
        System.out.println("set集合的成员数量:"+length);
        
        //判断字符串b和g是否存在集合set中
        boolean bflag = jedis.sismember("set", "b");
        System.out.println("b是否存在集合set中:" + bflag);
        boolean gflag = jedis.sismember("set", "g");
        System.out.println("g是否存在集合set中:" + gflag);
        
        //移除集合set中的元素a b
        jedis.srem("set", "a","b");
        valueList = jedis.smembers("set");
        System.out.print("移除后set集合元素:");
        for (String value : valueList) {
            System.out.print(value);
        }
        System.out.println();
        
        //随机移除集合set的一个元素并返回
        String popValue = jedis.spop("set");
        System.out.println("随机移除的元素为:" + popValue);
        valueList = jedis.smembers("set");
        System.out.print("随机移除后set集合元素:");
        for (String value : valueList) {
            System.out.print(value);
        }
        System.out.println();
        
        //向集合set1中添加d i j k
        jedis.sadd("set1", "d","i","j","k");
        //获取set集合与set1集合的差集
        Set<String> diffSet =jedis.sdiff("set","set1");
        System.out.println("set集合与set1集合的差集:");
        for (String value : diffSet) {
            System.out.print(value);
        }
        System.out.println();
        
        //获取set集合与set1集合的并集
        Set<String> unionSet =jedis.sunion("set","set1");
        System.out.println("set集合与set1集合的并集:");
        for (String value : unionSet) {
            System.out.print(value);
        }
        System.out.println();
        
        //获取set集合与set1集合的交集
        Set<String> interSet =jedis.sinter("set","set1");
        System.out.println("set集合与set1集合的交集:");
        for (String value : interSet) {
            System.out.print(value);
        }
        System.out.println();
        
        jedis.close();
    }
}
View Code

 

代码git地址:https://gitee.com/sjcq/redis.git

 

set操作

标签:members   print   lis   tee   pre   .com   lag   OLE   client   

原文地址:https://www.cnblogs.com/sjcq/p/8973258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!