集合——Set
set中元素不能重复。
set实现是基于哈希表结构实现,在修改、添加等操作复杂度是O(1)。
命令都是以S开头的。
sadd
在set集合中添加数据:sadd key value
且可以一次添加多个value值。
smembers
获取set集合中所有value值:smembers key
sismember
判断某个值是否在set中:sismember key value
如果存在,则返回1,不存在返回0。这里拿value为1和value为4举例,上面可以看出,我们只有数据:1、2、3,是没有4的。
scard
获取set中元素个数:scard key
返回为个数
srem
删除set中元素:srem key value
srandmember
从set中随机获取值:srandmember key count
count :个数
spop
随机删除指定Key中的元素:spop key [count]
count:删除个数
sdiff、sinter和sunion
求差集:sdiff key1 key2…keyn
差集定义:A-B={X|X∈A,且X∉B}
求交集:sinter key1 key2…keyn
求并集:sunion key1 key2…keyn
应用场景
- 利用唯一性:可以统计访问网站的所有独立的ip
- 对集合间进行求交集、并集、差集 方便实现共同关注,共同喜欢和二度好友