最近在做阅读类的业务,需要记录用户的PV,UV;
项目状况:前期尝试业务阶段;
特点:
快速实现(不需要做太重,满足初期推广运营即可)快速投入市场去运营收集用户的原始数据,三要素:
谁在什么时间阅读哪篇文章提到PV,UV脑海中首先浮现特点:
需要考虑性能(每个客户每打开一篇文章进行记录)允许数据有较小误差(少部分数据丢失) 架构设计架构图:
时序图
记录基础数据MySQL表结构
技术实现方案
SpringBoot
Redis
MySQL
代码实现完整代码(GitHub,欢迎大家Star,Fork,Watch)
https://github.com/dangnianchuntian/springboot
主要代码展示
Controller
Service
测试模拟用户请求访问后台(多次请求)
查看缓存中访问数据
模拟定时任务将缓存中数据同步到DB中
这时查看缓存中的数据已经没了
查看数据库表结构
总结 项目中定时任务问演示方便用http代替定时任务调度;实际项目中用XXL-job,参考:定时任务的选型及改造定时任务项目中用redis锁防止并发(定时任务调度端多次调度等),参考:Redis实现计数器—接口防刷—升级版(Redis+Lua)后期运营数据可以从阅读记录表中拉数据进行相关分析访问量大:可以将MySQL中的阅读记录表定时迁移走(MySQL建历史表,MongoDB等)到此这篇关于Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库的文章就介绍到这了,更多相关Spring Boot高并发数据入库内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!