Set 顾名思义为集合的意思 ,高中学过集合的知识我们知道,集合元素的个数是有限无序的,并且集合中元素不允许重复。和C++中的set容器是相同的。而这种特性可以使用set数据类型跟踪一些唯一性数据,比如某一网站的IP地址。
在这种数据结构中,我们可以完成的操作有添加、删除、测试元素是否存在等。由于集合本身的性质,在添加相同元素的时候,最终只有一个元素。 支持在服务器端完成多个集合的合并、求交集、求并集等,节省了网路IO开销。
具体的指令参考博客:http://www.cnblogs.com/stephen-liu74/archive/2012/03/21/2352512.html
1、 SADD命令可以将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member元素将被忽略
2、 需要随机取出集合中的某个元素,可以使用SPOP命令,执行SPOP命令返回的元素将被移除该集合
3、 获取集合中全部的元素,则需要使用SMEMBERS命令
4、 查看集合中元素的数量,可以使用SCARD命令
5、取得集合的差集,通过SDIFF命令即可轻松实现
6、redis 中获取集合的交集,执行SINTER命令将返回集合的交集
7、执行SUNION命令将返回给定集合的并集
8、SISMEMBER命令判断集合是否包含某个元素;如果集合包含给定的元素,则返回1,反之则返回0。
9、 执行SMOVE可以移动元素,SMOVE是原子性操作,因此可以保证数据的一致性。
SMOVE source destination member
如果 source 集合不存在或不包含指定的 member 元素,则SMOVE命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到 destination 集合中去。
10 命令SREM可以将元素从集合中移除,移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略