Redis(六) Set集合类型

在这里插入图片描述

前言

集合类型也是保存多个字符串类型的元素的,和列表类型不同的是,set集合类型中的元素是无序的且集合中的元素是不允许出现重复的,一个集合中最多可以存储 2^32-1 个元素。

命令

SADD

SADD 命令将一个或者多个元素添加到集合中,如果集合不存在则会先创建出一个集合然后再添加元素。注意:重复的元素无法添加到一个集合中。SADD key member[member...]

时间复杂度:O(1)
返回值:本次操作添加成功的元素的个数

127.0.0.1:6379> sadd key 1
(integer) 1
127.0.0.1:6379> sadd key 2 2 3 4 #当向set中添加重复元素的时候,是无法成功添加的,set中保证每一个元素只存在一个
(integer) 3

SMEMBERS

SMEMBERS 命令获取一个 set 中的所有元素(元素间的顺序是无序的)SMEMBERS key

时间复杂度:O(N),N为 set 中元素个数
返回值:set 中的所有元素

127.0.0.1:6379> sadd key 1 3 2 4 5 8 6 7
(integer) 8
127.0.0.1:6379> smembers key # 可以看到set中元素的顺序和我们插入的顺序是不同的
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
6) "6"
7) "7"
8) "8"

SISMEMBER

SISMEMBER 命令判断一个元素是否在 set 中。SISMEMBER key member

时间复杂度:O(1)
返回值:1表示该元素在set中,0表示该元素不在set中

127.0.0.1:6379> sadd key 1 3 2 4 5 8 6 7
(integer) 8
127.0.0.1:6379> sismember key 1
(integer) 1
127.0.0.1:6379> sismember key 10
(integer) 0

SCARD

SCARD 命令获取一个 set 的基数(cardinality),即 set 中的元素个数。SCARD key

时间复杂度:O(1)
返回值:set 内元素的个数

127.0.0.1:6379> sadd key 1 3 2 4 5 8 6 7
(integer) 8
127.0.0.1:6379> scard key
(integer) 8

SPOP

SPOP 命令从 set 中删除并返回一个或者多个元素,这里是 pop,那么是否意味着是从 set 的末尾删除呢?其实不是的,因为 set 中的元素是无序的,所以取出哪个元素实际是未定义行为,即可以看作是随机的。SPOP key [count]

时间复杂度:O(N),N是count
返回值:删除的元素的值

127.0.0.1:6379> sadd key 1 3 2 4 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不能再留遗憾了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值