想到这样的一个场景,你发了一个朋友圈,按照评论人评论的字数排序输出,字数越多表示越想想和你唠嗑。
使用redis的zset,假设需要排名前50个人,也就是Top50
topk = 50 wordNum = len(user_id's comment) ZADD id wordNum user_id count = ZCARD id if (count > topk) { ZREMRANGEBYRANK 0, (topk - count) } ZRANGEBYSCORE id 0 -1 WITHSCORES
使用redis的zset,但是需要记录所有的用户,唉,内存怎么搞?
假设需要排名前50个人,也就是Top50
topk = 50 wordNum = len(user_id's comment) ZINCRBY id wordNum user_id ZRANGEBYSCORE id -topk -1 WITHSCORES