旅游项目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的数据一致。

在这里插入图片描述

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值