set(集合)类型是不允许有相同值的,而且是无序的无法用索引来取值
创建set(集合)类型数据
--往键runoob的set类型中添加了3个字符串数据,redis,mongodb,rabitmq
redis 127.0.0.1:6379> sadd runoob redis
redis 127.0.0.1:6379> sadd runoob mongodb
redis 127.0.0.1:6379> sadd runoob rabitmq
--需注意的是一个集合中不允许出现相同的元素,集合内元素是唯一性的删除set(集合)类型数据
redis 127.0.0.1:6379> srem runoob rabitmq随机删除一个元素
redis 127.0.0.1:6379> spop runoob获取集合中值的个数
redis 127.0.0.1:6379> scard runoob判断集合中是否存在(返回1说明存在)
redis 127.0.0.1:6379> sismember runoob随机取出集合中的元素
redis 127.0.0.1:6379> srandmember runoob count
--从集合中随机取出count个元素获取集合中所有元素
redis 127.0.0.1:6379> smembers runoob
--返回结果是无序的,需要注意此命令不适合大集合使用,集合大使用回堵塞redis进程获取集合间的差集
redis 127.0.0.1:6379> sdiff key1 key2获取集合间的交集(应用场景)
redis 127.0.0.1:6379> sinter key1 key2获取集合间的并集
redis 127.0.0.1:6379> sunion key1 key2将集合间的差集,交集或并集保存到一个新的key中
redis 127.0.0.1:6379> sdiff + store newkey
redis 127.0.0.1:6379> sinter + store newkey
redis 127.0.0.1:6379> sunion + store newkey