redis数据类型(六)Sorted set类型

一、sorted set类型

sorted set是有序集合,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,会自动重新按新的值调整顺序。可以理解了有两列的 mysql表,一列存value,一列存顺序。操作中key理解为sorted set的名字。

二、Sorted Set类型数据操作指令简介##

  1. zadd key score member   添加元素到集合,元素在集合中存在则更新对应 score。
  2. zrem key member   删除指定元素,1 表示成功,如果元素不存在返回 0。
  3. zincrby key incr member   增加对应 member 的 score 值,然后移动元素并保持 skip list 保持有序。返回更新后的 score 值。
  4. zrank key member   返回指定元素在集合中的排名(下标),集合中元素是按 score 从小到大排序的。
  5. zrevrank key member   同上,但是集合中元素是按 score 从大到小排序。
  6. zrange key start end   类似 lrange 操作从集合中去指定区间的元素。返回的是有序结果.
  7. zrevrange key start end   同上,返回结果是按 score 逆序的。
  8. zrangebyscore key min max   返回集合中 score 在给定区间的元素。
  9. zcount key min max   返回集合中 score 在给定区间的数量。
  10. zcard key   返回集合中元素个数。
  11. zscore key element   返回给定元素对应的 score。
  12. zremrangebyrank key min max  删除集合中排名在给定区间的元素。
  13. zremrangebyscore key min max   删除集合中 score 在给定区间的元素.
  14. zunionstore destination numkeys key1 key2......keyN  对keys对应的numkeys个有序集合计算合集,并将结果存储在destination中。在传递输入keys之前必须提供输入keys的个数和其它可选参数。在默认情况下,元素的结果score是包含该元素的所有有序集合中score的和。如果使用WEIGHTS选项,你可以对每一个有序集合指定一个操作因子。这意味着每一个有序集合中的每个元素的score在传递给聚合函数之前均会被乘以该因子。当WEIGHTS没有指定时,操作因子默认为1。
    使用AGGREGATE选项,你可以指定交集中的结果如何被聚合。该选项默认值为SUM,在这种情况下,一个元素的所有score值均会被相加。当选项被设置为MIN或MAX时,结果集合中将会包含一个元素的最大或者最小的score值。如果destination已经存在,那么它将会被重写。
原文地址:https://www.cnblogs.com/jack1995/p/7507246.html