Redis集合(set)

什么是集合(set)

Redis中的集合和Redis列表类似,都是一系列的字符串集。但不同之处在于:

  • 集合中的元素/条目是无序的,而列表是有序的。
  • 集合中的元素不可重复,而列表中可以重复。

操作命令

命令描述
SADD向集合中添加条目
SREM向集合中删除条目
SISMEMBER判断一个条目是否在集合中
SMEMBERS列出集合中所有条目

创建集合

通过sadd逐条添加:


redis 127.0.0.1:6379> sadd jihe tiaomu1
(integer) 1
redis 127.0.0.1:6379> sadd jihe tiaomu2
(integer) 1
redis 127.0.0.1:6379> sadd jihe tiaomu3
(integer) 1




  • jihe:集合名称
  • (integer)1:如果添加的条目对于集合来说是新的,那么返回1,而如果添加的条目已存在,则返回0,比如下面向jihe中再添加一次tiaomu1:

redis 127.0.0.1:6379> sadd jihe tiaomu1
(integer) 0

重复添加的tiaomu1实际上没有添加进去。可以通过下面的查看集合来验证。


查看集合


redis 127.0.0.1:6379> smembers jihe
1) "tiaomu1"
2) "tiaomu2"
3) "tiaomu3"

查找条目

判断一个条目/字符串是否在集合中:


redis 127.0.0.1:6379> sismember jihe tiaomu0
(integer) 0
​
redis 127.0.0.1:6379> sismember jihe tiaomu1
(integer) 1
  • 0:不在
  • 1:在

删除条目


redis 127.0.0.1:6379> srem jihe tiaomu3
(integer) 1  # 删除一个
​
redis 127.0.0.1:6379> srem jihe tiaomu1 tiaomu2
(integer) 2  # 删除两个

srem删除条目时,返回的是被删除条目的个数。


其他人还浏览了:



公众号

关注公众号,获取一手资讯

“ Redis集合(set) ” comments 0

评论/回复

电子邮件地址不会被公开。 必填项已用*标注