【PHP】 PHP+Redis有序集合(zset)实现排行榜功能

整理自:https://www.cnblogs.com/itbsl/p/13407489.html

搬运贴,如果有侵权请联系删除


  • 增加阅读量(销量)时

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$redis = new Redis();
if (!$redis->connect('127.0.0.1', 6379)) {
    trigger_error('Redis连接出错!!!', E_USER_ERROR);
} else {
    echo '连接正常<br>';
}
//参数1: key(键)
//参数2: score(分数,本示例表示阅读量)
//参数3: member(成员,本示例表示文章ID)
$redis->zIncrBy('view_nums', 12, 1101);
$redis->zIncrBy('view_nums', 245, 1102);
$redis->zIncrBy('view_nums', 6, 1103);
$redis->zIncrBy('view_nums', 99, 1104);
$redis->zIncrBy('view_nums', 1267, 1105);
$redis->zIncrBy('view_nums', 23, 1106);
$redis->zIncrBy('view_nums', 456, 1107);
$redis->zIncrBy('view_nums', 9999, 1108);
 
$redis->close();

 

  • 排序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//1.初始化Redis连接
$redis = new Redis();
if (!$redis->connect('127.0.0.1', 6379)) {
    trigger_error('Redis连接出错!!!', E_USER_ERROR);
} else {
    echo '连接正常<br>';
}
 
//2.获取倒序的view_nums的前5个,下标从0开始,所以是[0~4],第四个参数表示是否使用score排名
$list = $redis->zRevRange('view_nums', 0, 4, true);
 
//3.关闭redis连接
$redis->close();
 
var_dump($list);

  

 

posted @   蓝色星辰1993  阅读(573)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示