laravel中使用有序集合

发布时间:2022-12-29 23:17:44 阅读:752次

最近有一个需求

需要统计近一个月访问的应用

有三个入口每个入口进入都是一个后台,需要统计近一个月访问了哪些后台

最后在中间件中利用redis的有序集合来实现

首先集合保证集合中的元素是唯一的,没有就添加元素加上分数为当前时间戳,如果元素已经存在,那么就更新时间戳

由于在redis中操作不用担心数据库的频繁操作

然后通过zrangebyscore来筛选数据

use Illuminate\Support\Facades\Redis;

Redis::zadd('app_history_'.$user_id, time(), $app_id);

以下为搜索

$ouser = $this->getOuserData();
$user_id = $ouser->id;
$last_month = strtotime("-1 months");
$app_ids = Redis::zrangebyscore('app_history_'.$user_id,$last_month,time());
dd($app_ids);

详细教程https://www.runoob.com/redis/sorted-sets-zrangebyscore.html

如有问题,可以QQ搜索群1028468525加入群聊,欢迎一起研究技术

支付宝 微信

有疑问联系站长,请联系QQ:QQ咨询

转载请注明:laravel中使用有序集合 出自老鄢博客 | 欢迎分享