写在前面的话:读书破万卷,编码如有神
--------------------------------------------------------------------
--------------------------------------------------------------------
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
操作如下: