【PHP】 PHP+Redis有序集合(zset)实现排行榜功能
整理自:https://www.cnblogs.com/itbsl/p/13407489.html
搬运贴,如果有侵权请联系删除
-
增加阅读量(销量)时
$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.初始化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);
得意时做事,失意时读书