Redis数据结构- 无序集合

142 阅读1分钟

**

Redis 集合(Set)是一个无序的字符串集合。你可以以 O(1) 的时间复杂度(无论集合中有多少元素时间复杂度都是常量)完成添加、删除以及测试元素是否存在。

Redis 集合拥有令人满意的不允许包含相同成员的属性,多次添加相同的元素,最终在集合里只会有一个元素,这意味着它可以非常方便地对数据进行去重操作。一个 Redis 集合的非常有趣的事情是它支持一些服务端的命令从现有的集合出发去进行集合运算,因此你可以在非常短的时间内进行合并(unions),求交集(intersections),找出不同的元素(differences of sets)。

> sadd myset 1 2 3
> smembers myset

sadd 命令产生一个无序集合,返回集合的元素个数。smembers 用于查看集合。

操作截图:

2-5-1

sismember 用于查看集合是否存在,匹配项包括集合名和元素(用于查看该元素是否是集合的成员)。匹配成功返回 1,匹配失败返回 0。

> sismember myset 3
> sismember myset 30
> sismember mys 3

操作截图:

2-5-2