Set的一些基本的操作

127.0.0.1:6379> sadd myset "hello" # set集合中添加元素
(integer) 1
127.0.0.1:6379> sadd myset "luoyufeng"
(integer) 1
127.0.0.1:6379> sadd myset "loveluoyufeng"
(integer) 1
127.0.0.1:6379> smembers myset # 查看指定set的所有值
1) "luoyufeng"
2) "hello"
3) "loveluoyufeng"
127.0.0.1:6379> sismember myset hello # 判断某一个值是不是在set集合中(1为存在 0为不存在)
(integer) 1
127.0.0.1:6379> sismember myset world
(integer) 0

获取Set中元素的个数

127.0.0.1:6379> scard myset # 获取set集合中内容的个数
(integer) 4

移除Set中的元素

127.0.0.1:6379> srem myset "hello" # 移除set集合中的指定元素
(integer) 1
127.0.0.1:6379> scard myset
(integer) 3
127.0.0.1:6379> smembers myset
1) "luoyufeng2"
2) "luoyufeng"
3) "loveluoyufeng"
127.0.0.1:6379>

注意:Set中的值是不能重复的

Set是无序不重复的集合,抽随机

127.0.0.1:6379> SRANDMEMBER myset # 随机抽选出一个元素
"luoyufeng"
127.0.0.1:6379> SRANDMEMBER myset
"luoyufeng"
127.0.0.1:6379> SRANDMEMBER myset
"luoyufeng"
127.0.0.1:6379> SRANDMEMBER myset
"loveluoyufeng"
127.0.0.1:6379> SRANDMEMBER myset 2 # 随机抽选出指定个数的元素
1) "luoyufeng2"
2) "luoyufeng"

删除指定的key,随机删除key

127.0.0.1:6379> SMEMBERS myset
1) "luoyufeng2"
2) "luoyufeng"
3) "loveluoyufeng"
127.0.0.1:6379> SPOP myset # 随机删除一些set集合中的元素!
"luoyufeng"
127.0.0.1:6379> SMEMBERS myset
1) "luoyufeng2"
2) "loveluoyufeng"

将一个指定的值 移动到另外一个集合中

127.0.0.1:6379> SADD myset "hello"
(integer) 1
127.0.0.1:6379> SADD myset "world"
(integer) 1
127.0.0.1:6379> SADD myset "luoyufeng"
(integer) 1
127.0.0.1:6379> SADD myset2 "set2"
(integer) 1
127.0.0.1:6379> SMOVE myset myset2 "luoyufeng" # 将一个指定的值,移动到另一个set集合中
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "world"
2) "hello"
127.0.0.1:6379> SMEMBERS myset2
1) "set2"
2) "luoyufeng"

应用场景:微博,B站的共同关注(并集)

数字集合类:

  • 差集
  • 交集
  • 并集
127.0.0.1:6379> SMEMBERS key1
1) "b"
2) "d"
3) "c"
4) "a"
127.0.0.1:6379> SMEMBERS key2
1) "d"
2) "c"
3) "e"
127.0.0.1:6379> sdiff key1 key2 # 差集
1) "b"
2) "a"
127.0.0.1:6379> sdiff key2 key1 # 差集
1) "e"
127.0.0.1:6379> SINTER key1 key2 # 交集 (共同好友可以这样实现)
1) "d"
2) "c"
127.0.0.1:6379> SUNION key1 key2 # 并集
1) "a"
2) "c"
3) "b"
4) "d"
5) "e"

微博,A用户将所有关注的人放入set集合中,将他的粉丝也放在一个集合中!

共同关注,共同爱好,二度好友(推荐好友)

最后修改:2021 年 03 月 07 日 11 : 10 AM