set中的值是不可以重读的!无序不重复集合,可以实现抽随机!

47.107.74.202:9807> sadd myset hello        # set集合中添加元素
(integer) 1
47.107.74.202:9807> sadd myset wangjun
(integer) 1
47.107.74.202:9807> sadd myset 你好
(integer) 1
47.107.74.202:9807> SMEMBERS myset            # 查看set集合中的所有值
1) "hello"
2) "wangjun"
3) "\xe4\xbd\xa0\xe5\xa5\xbd"
47.107.74.202:9807> SREM myset 你好            # 移除set中的某个元素
(integer) 1
47.107.74.202:9807> SMEMBERS myset
1) "hello"
2) "wangjun"
47.107.74.202:9807> SISMEMBER myset hello     # 判断某个元素是否存在于set集合中 存在返回 1 不存在返回 0 
(integer) 1
47.107.74.202:9807> SISMEMBER myset hellowangjun
(integer) 0

-----------------------------------------------------------------

SCARD 查看set集合中有几个元素

47.107.74.202:9807> SCARD myset
(integer) 2
47.107.74.202:9807> sadd myset wj2y
(integer) 1
47.107.74.202:9807> SCARD myset
(integer) 3
47.107.74.202:9807> SMEMBERS myset
1) "hello"
2) "wangjun"
3) "wj2y"

-----------------------------------------------------------------

SRANDMEMBER 随机抽出set集合中的元素

47.107.74.202:9807> SRANDMEMBER myset
"wj2y"
47.107.74.202:9807> SRANDMEMBER myset
"wangjun"
47.107.74.202:9807> SRANDMEMBER myset
"wangjun"
47.107.74.202:9807> SRANDMEMBER myset
"hello"
47.107.74.202:9807> SRANDMEMBER myset 2            # 随机抽选出两个元素
1) "wangjun"
2) "wj2y"
47.107.74.202:9807> SRANDMEMBER myset 2
1) "hello"
2) "wangjun"

-----------------------------------------------------------------

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

47.107.74.202:9807> SMEMBERS myset
1) "hello"
2) "wangjun"
3) "wj2y"
47.107.74.202:9807> SPOP myset        # 随机删除一些set集合中的元素 后面可以指定数量
"wangjun"
47.107.74.202:9807> SMEMBERS myset
1) "hello"
2) "wj2y"


-----------------------------------------------------------------

SMOVE 将指定set集合的元素,移动到另外一个set集合中!

47.107.74.202:9807> sadd myset hello
(integer) 1
47.107.74.202:9807> sadd myset wangjun
(integer) 1
47.107.74.202:9807> sadd myset wj2y
(integer) 1
47.107.74.202:9807> sadd myset2 hello2
(integer) 1
47.107.74.202:9807> SMOVE myset myset2 wj2y    # 将指定set集合的元素,移动到另外一个set集合中!
(integer) 1
47.107.74.202:9807> SMEMBERS myset
1) "hello"
2) "wangjun"
47.107.74.202:9807> SMEMBERS myset2
1) "hello2"
2) "wj2y"

-----------------------------------------------------------------

微博,B站,共同关注!(交集)
数字集合类:
 1、差集    SDIFF
 2、交集    SINTER
 3、并集    SUNION
47.107.74.202:9807> sadd key1 a
(integer) 1
47.107.74.202:9807> sadd key1 b
(integer) 1
47.107.74.202:9807> sadd key1 c
(integer) 1
47.107.74.202:9807> sadd key2 c
(integer) 1
47.107.74.202:9807> sadd key2 d
(integer) 1
47.107.74.202:9807> sadd key2 e
(integer) 1
47.107.74.202:9807> SDIFF key1 key2        # 差集
1) "a"
2) "b"
47.107.74.202:9807> SINTER key1 key2    # 交集  共同好友就可以这样实现
1) "c"
47.107.74.202:9807> SUNION key1 key2    # 并集
1) "a"
2) "b"
3) "c"
4) "e"
5) "d"

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

共同关注 共同爱好 同理!

分类: 技术 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录