如何设计一个排行榜?

如何设计一个排行榜?

MySQL的ORDER BY 关键字

小数据量可以使用,数据量稍微大点,可以加索引并且限制排序数据量达到优化的效果。
100w数据量全部排序大致需要4s,用优化加索引和限制排序量可以达到0.01s。

Redis的Sorted Set

大数据量一般都用这个。
Sorted Set数据结果和Set的差别就是增加了权重参数score,使得集合元素可以按score进行排序。
常用命令:
ZRANGE key start end (从小到大排序)
ZREVRANGE key start end (从大到小排序)
ZREVRANK key member (获取元素排名,从大到小)
ZCARD key (获取指定集合的元素数量)
ZSCORE key member (获取指定集合中指定元素的score)
ZADD key score1 member1 score2 member2…(向集合中添加元素)
ZINTERSTORE destination numkeys key1 key2 … (将给定集合的交集存储在destination中,对相同元素对应的score值进行SUM聚合操作,numkeys作为集合数量)
ZUNIONSTORE destination numkeys key1 key2 … (求并集)
ZDIFF destination numkeys key1 key2 … (求差集)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值