美文网首页码农庄园
redis zset实现排行榜withscores的一个小坑

redis zset实现排行榜withscores的一个小坑

作者: 小马过河R | 来源:发表于2024-06-30 16:30 被阅读0次

    我们写了三个数据到zset,分别用zRange($cachekey,0,-1,true)和zRange($cachekey,0,-1)输出如下:

    咋一看貌似有问题,带withscores=true的排行榜排序貌似乱的,而不带withscores=true的排序是正确的。细心的小伙伴再看下,因为withscores=true后结果为map,关联数组,如果输出map则会按照map的key重新排序,所以看到的排序是无效的。而不带的则会按索引排,所以是正常的。这看起来是一个坑,其实就是一个大坑。排行榜实现时要特别注意。

    如果要输出那就先json序列化处理一下,或者我们就不用withscores=true了自己遍历一下然后单独取zScore()取下榜单内的分数也行。

    相关文章

      网友评论

        本文标题:redis zset实现排行榜withscores的一个小坑

        本文链接:https://www.haomeiwen.com/subject/dzppcjtx.html