旅游项目day11

1. 数据统计

刷新一次+1?

每个用户+1?

线程安全问题?

直接在MySQL操作?

Redis能保证安全性?能保证效率?


1.1 阅读数

每当用户访问一次文章页面,阅读数+1。

额外提供一个接口?

其实可以跟文章查询复用。

实现步骤:

  1. 修改攻略查询接口,加入浏览数自增方法。

  2. 直接调用Redis对对应文章浏览数自增即可。

1.2 评论数

当用户新增评论成功后,该文章的评论数+1。

额外提供一个接口?

其实可以跟新增评论接口复用。

实现步骤:

  1. 修改新增评论接口,加入评论数自增方法。

  2. 直接调用Redis对对应文章评论数自增既可。

1.3 收藏数

站在用户的角度,记录文章id。

用户必须登录才可以进行收藏,未收藏时,点击收藏按钮,收藏数+1,且记录当前用户收藏了该文章,再次点击时,取消收藏,收藏数-1,并且取消用户收藏文章。

第一次进入页面详情时,需要回显是否已经收藏过该文章。

如何记录用户收藏了哪些文章?

使用Redis的List数据结构,以用户ID作为key,用户收藏的文章ID作为value。

或者直接在数据库维护一张用户-收藏表。

在查询详情接口里面,增加判断用户是否收藏方法。

判断是否收藏实现步骤:

  1. 查询文章详情时,判断当前用户是否登录。

  2. 如果已经登录,就获取该用户的收藏列表。

  3. 判断该文章是否存在收藏列表中,根据结果设置到文章是否已经收藏。

  4. 更新前端通过字段判断是否已经收藏。

远程调用用户收藏列表:

点击收藏按钮,收藏数统计步骤实现:

复制代码
1. 用户单击收藏按钮,向后端发起请求,后端首先查询用户-收藏表判断用户是否已经收藏
2. 如果未收藏,则收藏数+1,将用户-文章保存到用户-收藏表
3. 如果为收藏,则收藏数-1,将用户-文章从用户-收藏表移除

1.4 点赞数实现跟收藏数类似

一天只能点赞一次

2. 初始化Redis数据

项目启动将,将数据库中的数据同步到Redis,记得如果是大量数据,为了防止JVM堆溢出,要分批异步执行。

3. Redis数据落地

保持数据库和redis的数据一致。

相关推荐
是Yu欸1 天前
【征文计划】智旅无界:Rokid智能眼镜赋能下一代个性化旅游体验开发指南
人工智能·旅游·个性化·智能眼镜·rokid
Miss_Chenzr2 天前
Springboot旅游景区管理系统9fu3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·旅游
计算机程序设计小李同学2 天前
基于协同过滤的旅游酒店和订餐系统设计与实现
旅游
+VX:Fegn08953 天前
计算机毕业设计|基于springboot + vue旅游信息推荐系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计·旅游
B站计算机毕业设计之家5 天前
基于大数据热门旅游景点数据分析可视化平台 数据大屏 Flask框架 Echarts可视化大屏
大数据·爬虫·python·机器学习·数据分析·spark·旅游
老华带你飞5 天前
出行旅游安排|基于springboot出行旅游安排系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·spring·旅游
jqpwxt6 天前
启点创新文旅度假区票务系统,度假区景区商户分账管理系统
大数据·旅游
WebGIS开发6 天前
WebGIS开发实战:武汉旅游资源可视化平台开发与应用
信息可视化·gis·智慧城市·旅游·gis开发·webgis
jqpwxt7 天前
启点创新旅游景区一脸通验票系统,智慧景票务系统,智慧文旅一机游系统
旅游
奥特曼_ it9 天前
【机器学习】python旅游数据分析可视化协同过滤算法推荐系统(完整系统源码+数据库+开发笔记+详细部署教程)✅
python·算法·机器学习·数据分析·django·毕业设计·旅游