list redis 怎样做排行_redis有序列表实现排名

本文介绍了如何使用Redis的有序列表(zSet)来实现排行榜功能。通过zAdd方法添加成员并设置分数,zRevRange方法获取指定数量的排行榜数据,可以按分数降序或升序排列。同时,注意到在PHP中调用zRange时不能指定withscores参数,可能存在相关BUG。示例代码展示了如何操作Redis实现学生评分排行榜的存储和获取。
摘要由CSDN通过智能技术生成

同排名只能有一个,不能并列出现此点注意,且php zRange 时还不能指定withscores参数,网上说好像就是有此BUG存在。

Redis 类/**

* 将成员添加到有序列表中

* @param $key

* @param $node  对应的需要填入的值(比如学生的id)

* @param int $nums 对应的分数,默认值为1

* @return mixed

*/

public function zadd($key,$node,$nums = 1){

self::init();

$key = self::makekey($key);

return self::$redis->zAdd($key,$nums,$node);

}

/**

* 获取对应的排行榜

* @param $key

* @param $number 需要给出排行榜数目

* @param bool $asc $asc 排序顺序 true为降序(按照高分为第0)

* @param bool $withscores 是否需要分数

* @param null $callback 用于处理排行榜的回调函数

* @return mixed

*/

public function zRevRange($key, $number, $asc = true, $withscores = false, $callback = null)

{

self::init();

$key = self:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值