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

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 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 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年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!