1.sadd
向名称为 key 的 set 中添加元素 redis 127.0.0.1:6379> sadd myset "hello" (integer) 1 redis 127.0.0.1:6379> sadd myset "world" (integer) 1 redis 127.0.0.1:6379> sadd myset "world" (integer) 0 redis 127.0.0.1:6379> smembers myset 1) "world" 2) "hello" redis 127.0.0.1:6379> 本例中,我们向 myset 中添加了三个元素,但由于第三个元素跟第二个元素是相同的,所以 第三个元素没有添加成功,最后我们用 smembers 来查看 myset 中的所有元素。
2.srem
删除名称为 key 的 set 中的元素 member redis 127.0.0.1:6379> sadd myset2 "one" (integer) 1 redis 127.0.0.1:6379> sadd myset2 "two" (integer) 1 redis 127.0.0.1:6379> sadd myset2 "three" (integer) 1 redis 127.0.0.1:6379> srem myset2 "one" (integer) 1 redis 127.0.0.1:6379> srem myset2 "four" (integer) 0 redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> 本例中,我们向 myset2 中添加了三个元素后,再调用 srem 来删除 one 和 four,但由于元素 中没有 four 所以,此条 srem 命令执行失败。
3.spop
随机返回并删除名称为 key 的 set 中一个元素 redis 127.0.0.1:6379> sadd myset3 "one" (integer) 1 redis 127.0.0.1:6379> sadd myset3 "two" (integer) 1 redis 127.0.0.1:6379> sadd myset3 "three" (integer) 1 redis 127.0.0.1:6379> spop myset3 "three" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> 本例中,我们向 myset3 中添加了三个元素后,再调用 spop 来随机删除一个元素,可以看到 three 元素被删除了。
4.sdiff
返回所有给定 key 与第一个 key 的差集 redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> sdiff myset2 myset3 1) "three" redis 127.0.0.1:6379> 本例中,我们可以看到 myset2 中的元素与 myset3 中不同的只是 three,所以只有 three 被查 出来了,而不是 three 和 one,因为 one 是 myset3 的元素。
我们也可以将 myset2 和 myset3 换个顺序来看一下结果: redis 127.0.0.1:6379> sdiff myset3 myset2 1) "one" redis 127.0.0.1:6379> 这个结果中只显示了, myset3 中的元素与 myset2 中不同的元素。
5.sdiffstore
返回所有给定 key 与第一个 key 的差集,并将结果存为另一个 key redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> sdiffstore myset4 myset2 myset3 (integer) 1 redis 127.0.0.1:6379> smembers myset4 1) "three" redis 127.0.0.1:6379>
6.sinter
返回所有给定 key 的交集 redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> sinter myset2 myset3 1) "two" redis 127.0.0.1:6379> 通过本例的结果可以看出, myset2 和 myset3 的交集 two 被查出来了
7.sinterstore
返回所有给定 key 的交集,并将结果存为另一个 key redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> sinterstore myset5 myset2 myset3 (integer) 1 redis 127.0.0.1:6379> smembers myset5 1) "two" redis 127.0.0.1:6379> 通过本例的结果可以看出, myset2 和 myset3 的交集被保存到 myset5 中了
8.sunion
返回所有给定 key 的并集 redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> sunion myset2 myset3 1) "three" 2) "one" 3) "two" redis 127.0.0.1:6379> 通过本例的结果可以看出, myset2 和 myset3 的并集被查出来了
9.sunionstore
返回所有给定 key 的并集,并将结果存为另一个 key redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> sunionstore myset6 myset2 myset3 (integer) 3 redis 127.0.0.1:6379> smembers myset6 1) "three" 2) "one" 3) "two" redis 127.0.0.1:6379> 通过本例的结果可以看出, myset2 和 myset3 的并集被保存到 myset6 中了
10、smove
从第一个 key 对应的 set 中移除 member 并添加到第二个对应 set 中 redis 127.0.0.1:6379> smembers myset2 1) "three" 2) "two" redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> smove myset2 myset7 three (integer) 1 redis 127.0.0.1:6379> smembers myset7 1) "three" redis 127.0.0.1:6379> 通过本例可以看到, myset2 的 three 被移到 myset7 中了
11.scard
返回名称为 key 的 set 的元素个数 redis 127.0.0.1:6379> scard myset2 (integer) 1 redis 127.0.0.1:6379> 通过本例可以看到, myset2 的成员数量为 1
12.sismember
测试 member 是否是名称为 key 的 set 的元素 redis 127.0.0.1:6379> smembers myset2 1) "two" redis 127.0.0.1:6379> sismember myset2 two (integer) 1 redis 127.0.0.1:6379> sismember myset2 one (integer) 0 redis 127.0.0.1:6379> 通过本例可以看到, two 是 myset2 的成员,而 one 不是。
13.srandmember
随机返回名称为 key 的 set 的一个元素,但是不删除元素 redis 127.0.0.1:6379> smembers myset3 1) "two" 2) "one" redis 127.0.0.1:6379> srandmember myset3 "two" redis 127.0.0.1:6379> srandmember myset3 "one" redis 127.0.0.1:6379>
推荐电影泰山归来gravetee.com