Redis - zset
Redis zset(有序集合)中的成员是有序排列的,它和 set 集合的相同之处在于,集合中的每一个成员都是字符串类型,并且不允许重复;而它们最大区别是,有序集合是有序的,set 是无序的,这是因为有序集合中每个成员都会关联一个 double(双精度浮点数)类型的 score (分数值),Redis 正是通过 score 实现了对集合成员的排序。
zset 是 Redis 常用数据类型之一,它适用于排行榜类型的业务场景,比如 QQ 音乐排行榜、用户贡献榜等。在音乐排行榜单中,我们可以将歌曲的点击次数作为 score 值,把歌曲的名字作为 value 值,通过对 score 排序就可以得出歌曲“热度榜单”。
常用命令
zadd key score1 value1 score2 value2... #添加 zadd music 200 lost 100 stop zrange key start end #返回score 从小到大 zrange key start end withscores #返回score与value 从小到大 zrangebyscore key min max #返回min与max之间的数值,包括min与max zrevrangebyscore key max min #从大到小 zincrby key score value #增加 score+value zrem key value #删除 zcount key min max #统计个数 zrank key value #返回该值的排名