黑马十次方项目day03-20之控制不能重复点赞
发布日期:2021-06-30 13:14:44 浏览次数:2 分类:技术文章

本文共 1235 字,大约阅读时间需要 4 分钟。

文章目录

实现思路只用在点赞成功之后,往redis缓存中,存入当前用户redis的标示就行了.

引入redis的依赖

在docker中启动redis.

导入redis的依赖

org.springframework.boot
spring-boot-starter-data-redis

在yml中,加入redis的配置,写上redis的地址

Controller

@Autowiredprivate RedisTemplate redisTemplate;/**     * 方法名: thumbup     * 方法描述: 进行点赞     * 修改日期: 2019/1/19 18:01      * @param spitId     * @return entity.Result     * @author taohongchao     * @throws     */    @RequestMapping(value = "/thumbup/{spitId}",method = RequestMethod.PUT)    public Result thumbup(@PathVariable String spitId){
//判断当前的用户是否已经点赞了,由于没有搞登录认证,先把userid写死 String userId = "111"; //判断当前用户是否已经点赞了 if (redisTemplate.opsForValue().get("thumbup_" + userId) != null) {
return new Result(false, StatusCode.REMOTEERROR, "不能重复点赞"); } //调用service层,进行点赞 spitService.thumbup(spitId); //如果用户点赞成功,就把点赞的信息,存入redis中 redisTemplate.opsForValue().set("thumbup_"+userId,1); return new Result(true, StatusCode.OK, "点赞成功"); }

测试

发送点赞的请求,进行点赞.

对同一个吐槽的id进行点赞请求时,提示如下

关于视频中重复点赞问题的个人纠正

在视频中,对于重复点赞,只把用户的id存入了redis的缓存,作为了key.

那么导致的结果是只能对一个吐槽进行点赞,即使是第一次点赞别的吐槽,也会提示不能重复点赞.
因此要把用户的id和吐槽的id, 共同作为redis的键进行.

转载地址:https://javaweixin6.blog.csdn.net/article/details/86555688 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:黑马十次方项目day03-21之新增发布吐槽的完善
下一篇:黑马十次方项目day03-19之MongoDB原生命令实现自增

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月11日 04时20分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章