细节介绍,做排行建议不做全站的,除非你有很大的redis集群或使用ssdb
那么就维持前几万用户即可……
使用redis的zset即可
$this->redis->zAdd($rankType, $score, $key);
if ($length > 0) { //限个数
$all = $this->redis->zCard($rankType);
if ($all > $length) {
$keys = $this->redis->zRange($rankType, 0, $all -$length);
foreach ($keys as $key) {
$this->redis->zDelete($rankType, $key);
}
}
}
此代码来自zphp(基础swoole的实时通讯框架)