• 5、Redis中对Set类型的操作命令


    来源 https://www.cnblogs.com/xinhuaxuan/p/9256738.html

    写在前面的话:读书破万卷,编码如有神
    --------------------------------------------------------------------
    --------------------------------------------------------------------
    1、对Set类型的操作命令
    1.1、sadd:添加元素,格式是:sadd set的key item的项值,item项可以有多个。
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于set类型的: sadd 操作示例
     5  * sadd:添加元素,格式是:sadd set的key item的项值,item项可以有多个。
     6  */
     7 public class Set_sadd_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1: 相当于执行 sadd k1 v1
    13          */
    14         Long myset = jedis.sadd("myset", "1");
    15         System.out.println("myset = " + myset);
    16 
    17         /**
    18          * 示例2: 相当于执行 sadd k1 v1 v2 v3 v4
    19          */
    20         Long myset1 = jedis.sadd("myset", "1", "2", "3", "4");
    21         System.out.println("myset1 = " + myset1);
    22     }
    23 }
    复制代码
    1.2、smembers:获取集合中所有元素,格式是:smembers set的key
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 import java.util.Set;
     4 
     5 /**
     6  * redis中对于set类型的: smembers 操作示例
     7  * smembers:获取集合中所有元素,格式是:smembers set的key
     8  */
     9 public class Set_smembers_operation {
    10     public static void main(String[] args) {
    11         Jedis jedis = new Jedis("127.0.0.1",6379);
    12         /**
    13          * 示例1: 相当于执行 smembers key
    14          */
    15         Set<String> myset = jedis.smembers("myset");
    16         System.out.println("myset = " + myset);
    17     }
    18 }
    复制代码
    1.3、sismember:判断元素是否在集合中,格式是:sismember set的key item的项值
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于set类型的: sismember 操作示例
     5  * sismember:判断元素是否在集合中,格式是:sismember set的key item的项值
     6  */
     7 public class Set_sismember_operation {
     8 
     9     public static void main(String[] args) {
    10         Jedis jedis = new Jedis("127.0.0.1",6379);
    11         /**
    12          * 示例1: 相当于执行 sismember myset 1
    13          */
    14         Boolean sismember = jedis.sismember("myset", "1");
    15         System.out.println("sismember = " + sismember);
    16 
    17 
    18         /**
    19          * 示例2: 相当于执行 sismember myset 11
    20          */
    21         Boolean sismember1 = jedis.sismember("myset", "11");
    22         System.out.println("sismember1 = " + sismember1);
    23     }
    24 }
    复制代码
    1.4、srem:删除元素,格式是:srem set的key item项的值
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于set类型的:
     5  *  srem:删除元素,格式是:srem set的key item项的值
     6  */
     7 public class Set_srem_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10         /**
    11          * 示例1: 相当于执行 srem myset 1
    12          */
    13         Long myset = jedis.srem("myset", "1");
    14         System.out.println("myset = " + myset);
    15 
    16         /**
    17          * 示例2: 相当于执行 srem myset 11
    18          */
    19         Long myset1 = jedis.srem("myset", "11");
    20         System.out.println("myset1 = " + myset1);
    21     }
    22 }
    复制代码

     1.5、scard:获取集合中元素的个数,格式是:scard set的key

    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于set类型的:
     5  * scard:获取集合中元素的个数,格式是:scard set的key
     6  */
     7 public class Set_scard_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1: 相当于执行 scard myset
    13          */
    14         Long myset = jedis.scard("myset");
    15         System.out.println("myset = " + myset);
    16     }
    17 }
    复制代码

     1.6、srandmember:随机获取集合中的元素,格式是:srandmember set的key[数量]。(数量为正数时,会随机获取这么多个不重复的元素;如果数量大于集合元素个数,返回全部;如果数量为负,会随机获取这么多个元素,可能有重复。)

    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 import java.util.List;
     4 import java.util.Set;
     5 
     6 /**
     7  * redis中对于set类型的:
     8  * srandmember:随机获取集合中的元素,格式是:srandmember set的key[数量]。
     9  * (数量为正数时,会随机获取这么多个不重复的元素;如果数量大于集合元素个数,返回全部;如果数量为负,会随机获取这么多个元素,可能有重复。)
    10  */
    11 public class Set_srandmember_operation {
    12     public static void main(String[] args) {
    13         Jedis jedis = new Jedis("127.0.0.1",6379);
    14 
    15         Set<String> myset = jedis.smembers("myset");
    16         System.out.println("myset = " + myset);
    17 
    18         /**
    19          * 示例1: 相当于执行 srandmember myset 5
    20          */
    21         List<String> myset1 = jedis.srandmember("myset", 5);
    22         System.out.println("myset1 = " + myset1);
    23 
    24         /**
    25          * 示例2: 相当于执行 srandmember myset -1
    26          */
    27         List<String> myset2 = jedis.srandmember("myset", -4);
    28         System.out.println("myset2 = " + myset2);
    29 
    30     }
    31 }
    复制代码
    1.7、spop:弹出元素,格式是:spop set的key
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于set类型的:
     5  * spop:弹出元素,格式是:spop set的key
     6  */
     7 public class Set_spop_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1: 相当于执行 spop myset
    13          */
    14         String myset = jedis.spop("myset");
    15         System.out.println("myset = " + myset);
    16     }
    17 }
    复制代码
    1.8、smove:移动元素。格式是:smove 源set的key 目的set的key item项的值 (ps:一次只能移动一个item)
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 /**
     4  * redis中对于set类型的:
     5  * smove:移动元素。格式是:smove 源set的key 目的set的key item项的值 (ps:一次只能移动一个item)
     6  */
     7 public class Set_smove_operation {
     8     public static void main(String[] args) {
     9         Jedis jedis = new Jedis("127.0.0.1",6379);
    10 
    11         /**
    12          * 示例1: 相当于执行 smove myset myset2 item项的值
    13          */
    14         jedis.sadd("myset","1","2","3","4","5");
    15         Long smove = jedis.smove("myset", "myset2", "2");
    16         System.out.println("smove = " + smove);
    17 
    18         Long smove1 = jedis.smove("myset", "myset2", "5");
    19         System.out.println("smove1 = " + smove1);
    20 
    21     }
    22 }
    复制代码
    1.9、sdiff:差集,返回在第一个set里面而不在后面任何一个set里面的项。格式是:sdiff set的key 用来比较的多个set的key
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 import java.util.Set;
     4 
     5 /**
     6  * redis中对于set类型的:
     7  * sdiff:差集,返回在第一个set里面而不在后面任何一个set里面的项。格式是:sdiff set的key 用来比较的多个set的key
     8  * sdiffstore:差集并保留结果,格式是:sdiffstore 存放结果的set的key set的key 用来比较的多个set的key
     9  */
    10 public class Set_sdiff_sdiffstore_operation {
    11     public static void main(String[] args) {
    12         Jedis jedis = new Jedis("127.0.0.1",6379);
    13 
    14         jedis.sadd("myset", "1", "2", "3", "4", "5");
    15         jedis.sadd("myset2", "1", "2","9");
    16         jedis.sadd("myset3", "5", "6");
    17         /**
    18          * 示例1: 相当于执行 sdiff set的key 用来比较的多个set的key
    19          */
    20         Set<String> sdiff = jedis.sdiff("myset", "myset2");
    21         System.out.println("在myset中,但是不在myset2中的元素有:" + sdiff.toString());
    22 
    23         Set<String> sdiff1 = jedis.sdiff("myset", "myset2", "myset3");
    24         System.out.println("在myset中,但是不在myset2、myset3中的元素有:" + sdiff1.toString());
    25 
    26         /**
    27          * 示例2: 相当于执行 sdiffstore 存放结果的set的key set的key 用来比较的多个set的key
    28          */
    29         Long sdiffstore = jedis.sdiffstore("myset4", "myset", "myset2");
    30         System.out.println("sdiffstore = " + sdiffstore);
    31         Set<String> myset4 = jedis.smembers("myset4");
    32         System.out.println("myset4 = " + myset4.toString());
    33     }
    34 }
    复制代码

     1.10、sdiffstore:差集并保留结果,格式是:sdiffstore 存放结果的set的key set的key 用来比较的多个set的key

    操作如下:
    1.11、sinter:交集,返回多个set里面都有的项。格式是:sinter 多个set的key 
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 import java.util.Set;
     4 
     5 /**
     6  * redis中对于set类型的:
     7  * sinter:交集,返回多个set里面都有的项。格式是:sinter 多个set的key
     8  * sinterstore:交集并保留结果。格式是:sinterstore 存放结果的key 多个set的key
     9  */
    10 public class Set_sinter_sinterstore_operation {
    11     public static void main(String[] args) {
    12         Jedis jedis = new Jedis("127.0.0.1",6379);
    13 
    14         jedis.sadd("myset", "1", "2", "3", "4", "5");
    15         jedis.sadd("myset2", "1", "2","4","9");
    16         jedis.sadd("myset3", "1","4","5", "6");
    17         /**
    18          * 示例1: 相当于执行 sinter 多个set的key
    19          */
    20         Set<String> sinter = jedis.sinter("myset", "myset2");
    21         System.out.println("sinter = " + sinter);
    22 
    23         Set<String> sinter2 = jedis.sinter("myset", "myset2","myset3");
    24         System.out.println("sinter2 = " + sinter2);
    25 
    26 
    27         /**
    28          * 示例2: 相当于执行 sinterstore 存放结果的key 多个set的key
    29          */
    30 
    31         Long sinterstore = jedis.sinterstore("myset4", "myset","myset2");
    32         System.out.println("sinterstore = " + sinterstore);
    33         Set<String> myset4 = jedis.smembers("myset4");
    34         System.out.println("myset4 = " + myset4);
    35     }
    36 }
    复制代码
    1.12、sinterstore:交集并保留结果。格式是:sinterstore 存放结果的key 多个set的key
    操作如下:
    1.13、sunion:并集。格式是:sunion 多个set的key
    操作如下:
    java示例代码:
    复制代码
     1 import redis.clients.jedis.Jedis;
     2 
     3 import java.util.Set;
     4 
     5 /**
     6  * redis中对于set类型的:
     7  * sunion:并集。格式是:sunion 多个set的key
     8  * sunionstore:并集并保留结果。格式是:sunionstore 存放结果的set的key 多个set的key
     9  */
    10 public class Set_sunion_sunionstore_operation {
    11     public static void main(String[] args) {
    12         Jedis jedis = new Jedis("127.0.0.1",6379);
    13 
    14         jedis.sadd("myset", "1", "2", "3", "4", "5");
    15         jedis.sadd("myset2", "1", "2","9");
    16         jedis.sadd("myset3", "5", "6");
    17         
    18         /**
    19          * 示例1: 相当于执行 sunion 多个set的key
    20          */
    21         Set<String> sunion = jedis.sunion("myset", "myset2");
    22         System.out.println("sunion = " + sunion);
    23 
    24         Set<String> sunion2 = jedis.sunion("myset", "myset2","myset3");
    25         System.out.println("sunion2 = " + sunion2);
    26 
    27 
    28         /**
    29          * 示例2: 相当于执行 sunionstore 存放结果的set的key 多个set的key
    30          */
    31         Long sunionstore = jedis.sunionstore("myset4", "myset", "myset2");
    32         System.out.println("sunionstore = " + sunionstore);
    33         Set<String> myset4 = jedis.smembers("myset4");
    34         System.out.println("myset4 = " + myset4);
    35     }
    36 }
    复制代码
    1.14、sunionstore:并集并保留结果。格式是:sunionstore 存放结果的set的key 多个set的key
    操作如下:
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    rs
    stm32f767 usoc3
    stm32f767 RTT 日志
    stm32f767 标准库 工程模板
    stm32f767 HAL 工程模板
    docker tab 补全 linux tab 补全
    docker anconda 依赖 下载 不了
    docker run 常用 指令
    linux scp 命令
    Dockerfile 常用参数说明
  • 原文地址:https://www.cnblogs.com/cdchencw/p/14451363.html
Copyright © 2020-2023  润新知