集合set类型也是用来保存多个的字符串元素,但和列表类型不一样的是,集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元素。
Redis对Set的基本操作:
SADD key member [member ......]向集合中添加一个或多个元素,如果member不存在则自动创建,如果存在则忽略,命令返回成功插入元素数量。
SREM key member [member ......]从集合中删除一个或多个元素,命令返回删除成功的个数
SMEMBERS key 获得集合中的所有元素
SISMEMBER key member判断元素是否在集合中
SCARD key计算元素个数
SRANDMEMBER key [count]随机从集合中返回指定个数元素
SPOP key 随机从集合中弹出元素
集合间运算
SINTER key [key ......] 求多个集合的交集
SUNION key [key ......]求多个集合的并集
SDIFF key [key ......] 求多个集合的差集
有序集合保留了集合不能有重复成员的特性,但不同的是,有序集合中的元素可以排序 ,它是给每个元素设置一个分数 score 作为排序的依据。
ZADD key score member [score member ......] 向有序集合中加入一个元素和此元素的分数,如果此元素存在则用亲的分数替换原来的分数。
ZCARD key 计算成员个数
ZSCORE key member获得元素的分数
ZRANK key member 从分数从低到高返回排名,排名从0开始
ZREVRANK key member从分数从高到低返回排名,排名从0开始
ZREM key member [member ......] 删除成员
ZINCRBY key increment member增加成员的分数
ZRANGE key start stop [WITHSCORES] 返回指定排名范围的成员,从低到高
ZREVRANGE key start stop[WITHSCORES]返回指定排名范围的成员,从高到低
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT OFFSET COUNT] 返回指定分数范围的成员,从低到高,limit 限制输出的起始位置和个数
ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT OFFSET COUNT] 返回指定分数范围的成员,从高到低,limit 限制输出的起始位置和个数
ZCOUNT key min max 返回指定分数范围成员个数
ZREMRANGEBYRANK key start end 删除指定排名内的升序元素
ZREMRANGEBYSCORE key min max 删除指定分数范围的成员
集合间运算
ZINTERSTOREdestinationnumkeys key [key ......][weights weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
此命令用来计算多个有序集合的交集并将结果存储在 destination 键中,返回值 为destination键中的元素个数
当AGGREGATE 是 SUM 时(默认值),destination键中元素的分数是每个参与计算的集合中此元素的分数和
当AGGREGATE 是 MIN,destination键中元素的分数是每个参与计算的集合中此元素的分数的最小值
当AGGREGATE 是 MAX,destination键中元素的分数是每个参与计算的集合中此元素的分数的最大值
ZUNIONSTOREdestinationnumkeys key [key ......][weights weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
此命令跟ZINTERSTORE用法一致,只不过是计算并集
至此Redis中五种数据类型的基本操作就算结束了!