Redis集合的无序性|SRANDMEMBER|SCARD|SPOP|SMOVE

一 实战
127.0.0.1:6379> SADD mem1 peter jack tom john may ben
(integer) 6
127.0.0.1:6379> SADD mem2 peter jack tom john may ben
(integer) 6
127.0.0.1:6379> SMEMBERS mem1
1) "tom"
2) "john"
3) "peter"
4) "ben"
5) "may"
6) "jack"
127.0.0.1:6379> SMEMBERS mem2
1) "tom"
2) "john"
3) "peter"
4) "ben"
5) "may"
6) "jack"

二 说明
SMEMBERS有可能返回不同的结果,所以,如果要存储有序且不重复的数据,需要使用有序集合。
存储有序可重复的需要使用列表。

三 SRANDMEMBER
1 介绍
随机返回集合中指定个数的元素
SRANDMEMBER key [count]
如果count为正数,且小于集合基数,那么命令返回一个包括count个元素的数组,数组中的元素各不相同。如果count大于等于集合基数,那么返回整个集合。
如果count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为count的决对值。
如果count未0,返回空
如果count不指定,随机返回一个元素
2 实战
127.0.0.1:6379> SMEMBERS mem1
1) "john"
2) "peter"
3) "tom"
4) "ben"
5) "may"
6) "jack"
127.0.0.1:6379> SRANDMEMBER mem1 3
1) "ben"
2) "may"
3) "jack"
127.0.0.1:6379> SRANDMEMBER mem1 -5
1) "tom"
2) "may"
3) "may"
4) "tom"
5) "jack"
127.0.0.1:6379> SRANDMEMBER mem1 0
(empty list or set)
127.0.0.1:6379> SRANDMEMBER mem1
"jack"

四 SCARD
1 介绍
返回集合中元素的个数
2 命令
SCARD key
3 说明
键的结果和保存信息,集合长度就记录在里面,所以不需要遍历
4 实战
127.0.0.1:6379> SMEMBERS mem1
1) "tom"
2) "john"
3) "ben"
4) "may"
5) "peter"
6) "jack"
127.0.0.1:6379> SCARD mem1
(integer) 6

五 SPOP
1 介绍
随机从集合中移除并返回这个被移除的元素
2 命令
SPOP key
3 实战
127.0.0.1:6379> SMEMBERS mem1
1) "tom"
2) "john"
3) "ben"
4) "may"
5) "peter"
6) "jack"
127.0.0.1:6379> SPOP mem1
"tom"
127.0.0.1:6379> SMEMBERS mem1
1) "john"
2) "ben"
3) "may"
4) "peter"
5) "jack"

六  SMOVE
1 介绍
把元素从源集合移动到目标集合
SMOVE source destination member
2 举例
127.0.0.1:6379> SMEMBERS mem1
1) "john"
2) "ben"
3) "may"
4) "peter"
5) "jack"
127.0.0.1:6379> SMOVE mem1 mem3 john
(integer) 1
127.0.0.1:6379> SMEMBERS mem1
1) "ben"
2) "may"
3) "peter"
4) "jack"
127.0.0.1:6379> SMEMBERS mem3
1) "john"


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值