Redis中数据类型的基本操作三 (Set 集合 Zset 有序集合)

集合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中五种数据类型的基本操作就算结束了!