redis ---基本数据类型Set

Set(集合)

set中的值是不能重复的!
set命令都是以s开头的

添加 查询

sadd 【集合】【值】:set集合中添加元素
smembers 【集合】:查看指定set的所有值
sismember 【集合】【元素】:判断一个值是不是在set集合中

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

元素数量

命令:scard 【集合】

127.0.0.1:6379> smembers myset 
1) "jiu"
2) "zhao"
3) "hello"
127.0.0.1:6379> scard myset #  获取set 集合中的内容个数
(integer) 3
元素移除

命令:srem 【集合】【元素】:移除set集合中的制定元素

127.0.0.1:6379> smembers myset
1) "jiu"
2) "zhao"
3) "hello"
127.0.0.1:6379> srem myset hello #移除集合myset中hello
(integer) 1
127.0.0.1:6379> smembers myset
1) "jiu"
2) "zhao"
随机抽选set集合中的元素

srandmember 【集合】:随机抽选出一个元素
srandmember 【集合】 【数量】:随机抽选出指定数量的元素

127.0.0.1:6379> smembers myset
1) "jiu"
2) "zhao"
127.0.0.1:6379> srandmember myset # 随机抽选出一个元素
"jiu"
127.0.0.1:6379> srandmember myset
"zhao"
127.0.0.1:6379> srandmember myset
"zhao"
127.0.0.1:6379> srandmember myset
"zhao"
127.0.0.1:6379> srandmember myset
"zhao"
127.0.0.1:6379> srandmember myset
"zhao"
127.0.0.1:6379> srandmember myset
"jiu"
127.0.0.1:6379> srandmember myset 2 # 随机抽选出指定个数的元素
1) "zhao"
2) "jiu"
127.0.0.1:6379> srandmember myset 2
1) "zhao"
2) "hahah"

随机移除一个
127.0.0.1:6379> smembers myset
1) "jiu"
2) "zhao"
3) "hahah"
127.0.0.1:6379> spop myset
"zhao"
127.0.0.1:6379> spop myset
"hahah"
127.0.0.1:6379> smembers myset
1) "jiu"
将集合中指定的元素移动到另一个集合中

smove 【原集合】【其他集合】【原集合某个元素】

127.0.0.1:6379> sadd myset hello 
(integer) 1
127.0.0.1:6379> sadd otherset word
(integer) 1
127.0.0.1:6379> smove myset otherset hello
(integer) 1
127.0.0.1:6379> smembers myset
(empty list or set)
127.0.0.1:6379> smembers otherset
1) "hello"
2) "word"
微博,B站,共同关注(并集)
数字集合类
 - 差集
 - 交集
 - 并集
 127.0.0.1:6379> sadd myset a
(integer) 1
127.0.0.1:6379> sadd myset b
(integer) 1
127.0.0.1:6379> sadd myset c
(integer) 1
127.0.0.1:6379> sadd myset2 c
(integer) 1
127.0.0.1:6379> sadd myset2 e
(integer) 1
127.0.0.1:6379> 
127.0.0.1:6379> sadd myset2 d
(integer) 1
127.0.0.1:6379> sdiff myset myset2 # 差集
1) "b"
2) "a"
127.0.0.1:6379> sinter myset myset2 # 交集 公共好友/共同关注
1) "c"
127.0.0.1:6379> sunion myset myset2 # 并集
1) "b"
2) "c"
3) "d"
4) "a"
5) "e"

使用场景:
微博, 共同关注、共同好友、共同爱好、二度好友(推荐好友)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值