Set(集合)
set中的值不能重读,与list操作一样,set操作以s
开头
127.0.0.1:6379> sadd set hello #添加值
(integer) 1
127.0.0.1:6379> sadd set world
(integer) 1
127.0.0.1:6379> smembers set #查看指定set的所有值
1) "hello"
2) "world"
127.0.0.1:6379> sismember set hello #判断某一个值是否存在set集合中
(integer) 1
127.0.0.1:6379> scard set #获取set集合中内容元素的个数
(integer) 2
127.0.0.1:6379>
# srem 移除元素
127.0.0.1:6379> smembers set #移除set集合中的指定元素
1) "hello1"
2) "hello2"
3) "hello"
4) "hello3"
127.0.0.1:6379> srem set hello
(integer) 1
127.0.0.1:6379> smembers set
1) "hello1"
2) "hello2"
3) "hello3"
127.0.0.1:6379>
# srandmember 随机抽取元素
127.0.0.1:6379> srandmember set #随机抽取一个元素
"hello1"
127.0.0.1:6379> srandmember set
"hello2"
127.0.0.1:6379> srandmember set 2 #随机抽取指定个数的元素
1) "hello1"
2) "hello2"
127.0.0.1:6379> srandmember set 2
1) "hello"
2) "hello3"
127.0.0.1:6379>
# spop 随机移除set集合中的元素
127.0.0.1:6379> spop set
"hello3"
127.0.0.1:6379> spop set
"hello"
127.0.0.1:6379>
# smove 移动指定元素到其他set集合中
127.0.0.1:6379> sadd set01 hello
(integer) 1
127.0.0.1:6379> sadd set01 bihao
(integer) 1
127.0.0.1:6379> sadd set01 xiexie
(integer) 1
127.0.0.1:6379> sadd set02 chouxiang
(integer) 1
127.0.0.1:6379> smove set01 set02 xiexie
(integer) 1
127.0.0.1:6379> smembers set01
1) "hello"
2) "bihao"
127.0.0.1:6379> smembers set02
1) "chouxiang"
2) "xiexie"
127.0.0.1:6379>
# 差集 交集 并集
127.0.0.1:6379> smembers set01
1) "a"
2) "d"
3) "b"
4) "c"
5) "e"
127.0.0.1:6379> smembers set02
1) "b"
2) "c"
127.0.0.1:6379> sdiff set01 set02 #差集
1) "e"
2) "a"
3) "d"
127.0.0.1:6379> sinter set02 set02 #交集
1) "b"
2) "c"
127.0.0.1:6379> sunion set01 set02 #并集
1) "c"
2) "e"
3) "b"
4) "a"
5) "d"
具体应用如:共同关注,二度好友,(推荐好友,可能认识的人)六度分割理论
评论 (0)