Redis -Set类型(集合)

set中是无序不重复集合

######################################################################
127.0.0.1:6379> sadd myset "hello" #set集合中添加元素
(integer) 1
127.0.0.1:6379> sadd myset "chenjialin"
(integer) 1
127.0.0.1:6379> sadd myset "lovechenjialin"
(integer) 1
127.0.0.1:6379> smembers myset #查看set几个的所有值
1) "hello"
2) "lovechenjialin"
3) "chenjialin"
127.0.0.1:6379> sismember myset hello # 判断某一个值是不是存在set集合中 存在返回1 否则返回0
(integer) 1
127.0.0.1:6379> sismember myset world
(integer) 0
######################################################################
scard #查看set集合中的的数量 返回的是数量
127.0.0.1:6379> scard myset #查看set集合中的的数量 返回的是数量
(integer) 3
127.0.0.1:6379> sadd myset "aimenglin"
(integer) 1
127.0.0.1:6379> scard myset
(integer) 4
######################################################################
srem 移除元素

127.0.0.1:6379> srem myset hello #移除set中的元素hello
(integer) 1
127.0.0.1:6379> scard myset
(integer) 3
127.0.0.1:6379> smembers myset
1) "aimenglin"
2) "lovechenjialin"
3) "chenjialin"

######################################################################
srandmember #随机抽选出元素
127.0.0.1:6379> srandmember myset #随机抽取一个元素
"chenjialin"
127.0.0.1:6379>  srandmember myset
"aimenglin"
127.0.0.1:6379>  srandmember myset
"lovechenjialin"
127.0.0.1:6379>  srandmember myset
"aimenglin"
127.0.0.1:6379>  srandmember myset
"aimenglin"
127.0.0.1:6379> srandmember myset 2 #随机抽取两个元素
1) "aimenglin"
2) "lovechenjialin"
######################################################################
spop #随机删除元素
127.0.0.1:6379> spop myset #随机删除元素
"chenjialin"
127.0.0.1:6379> smembers myset
1) "aimenglin"
2) "lovechenjialin"
######################################################################
smove #将一个集合的元素移到另一个集合中

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 "chenjialin"
(integer) 1
127.0.0.1:6379> sadd myset2 "set2"
(integer) 1
127.0.0.1:6379> smove myset myset2 "chenjialin" #将myset中的chenjialin移到myset2中
(integer) 1
127.0.0.1:6379> smembers myset
1) "world"
2) "hello"
127.0.0.1:6379> smembers myset2
1) "chenjialin"
2) "set2"
######################################################################
集合之间元素取交,并,差集 ,使用场景有在微信qq的共同好友这种场景
sdiff 差集
sinter  交集
sunion 并集
127.0.0.1:6379> sadd key1 a
(integer) 1
127.0.0.1:6379> sadd key1 b
(integer) 1
127.0.0.1:6379> sadd key1 c
(integer) 1
127.0.0.1:6379> sadd key2 c
(integer) 1
127.0.0.1:6379> sadd key2 d
(integer) 1
127.0.0.1:6379> sadd key2 e
(integer) 1
127.0.0.1:6379> sdiff key1 key2 #以key1为准查看key2的 就相当于key1-key2 剩下了的元素
1) "a"
2) "b"
127.0.0.1:6379> sinter key1 key2 #key1 和key2的交集元素集合
1) "c"
127.0.0.1:6379> sunion key1 key2 #key1和key2并在一起的之后的元素集合
1) "b"
2) "c"
3) "a"
4) "e"
5) "d"

场景:1.微博,A用户将所有光柱的人放在一个set集合中!将它的粉丝也放在一个集合中
2.共同关注 ,共同爱好,推荐好友等等

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值