寫在前面的話:讀書破萬卷,編碼如有神
--------------------------------------------------------------------

--------------------------------------------------------------------
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
操作如下:
