历史/浏览记录的实现思路以及过程(兼顾性能最好)

1. 运行环境#

1). 当前使用的 Laravel 版本?#

8.0

2). 当前使用的 php 版本?#

PHP 版本:php8

3). 当前系统 线下 Windows 线上 Centos7#

4). 业务环境 LNMP#

2. 问题描述?#

我是写接口的,想问一下 laravel 中 App 的历史浏览记录怎么实现,要兼顾性能,之前试过路由中间件但是并没有什么效果,希望能有人指点一下思路,详细一点最好,蟹蟹,用路由中间件也好,用缓存也好,最好是兼顾性能,我去一点点完善也可以

3. 您期望得到的结果?#

有实例的话最好,或者其他网站我也可以去看去学,扩展也可以,前期前提一定是实现功能为主嘛

4. 您实际得到的结果?#

一个偏向心理学即将转向产品的码农
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 14

中间件存储到 redis ,或者数据库,自行解决

3年前 评论

我能想到性能最好的方案 Nginx + lua 脚本 直接写入 Redis(反正只记录一个地址、用户、时间 逻辑不复杂),然后用 php 脚本再入库到 MySQL

3年前 评论
working (楼主) 3年前
dbkuaizi (作者) 3年前

中间件放心大胆的往数据库直接写,mysql 性能没你想的那么差

3年前 评论
working (楼主) 3年前
摇曳的猫 (作者) 3年前
working (楼主) 3年前
摇曳的猫 (作者) 3年前

中间件 + redis 队列 守护进程消费队列做入库操作就行了

3年前 评论
working (楼主) 3年前
Latent (作者) 3年前
working (楼主) 3年前

这个功能可以仿照最后活跃时间和浏览量统计的做法,先放入 redis 哈希表中,然后定时任务写入 MySQL,取的话又缓存就去缓存没缓存就去数据库中取,此乃最优解。

3年前 评论