准备redis三种键分别为:

product_comment_likes:{%d}【评论赞成数量维护】(hash结构,%d=productId,key=评论id,value=评论赞成数量)

user_comment_likes:{%d}:%d 【用户侧评论赞成数量维护】(set结构,{%d}=userId,%d=productId,value=commentId)

comment_like_logs【评论赞成数量日志】(list结构,value结构=productId:commentId|memoryAgreeCount(评论赞成数量))

说明:该接口全部采用基于redis缓存操作,使用lua脚本保证原子性。{}保证rediskey在分布式下数据保证在同一redis的哈希槽中。最后由定时任务去同步到mysql

接口说明:用户请求一次点赞,再请求一次取消点赞

service:

用户点赞的 lua脚本:

同步数据的lua脚本:

定时器(这部分我并没有去加分布式锁,可以考虑使用xxl-job,分布式下请不要使用springboot定时器,单机就随便啦):

怎么实现一个点赞功能?相关推荐

  1. 一个“点赞”功能的实现代码

    "点赞"是最近很流行的一个词,自己也琢磨了一下代码,暂时只实现了功能性代码,要添加漂亮效果,可以继续用Jquery来实现. 主要有两个文件:一是:index.htm,呈现前端页面, ...

  2. springboot+vue3+ts实现一个点赞功能

    前端:vite+vue3+ts+elementplus+less 后端:springboot2.7.6+mybatisplus 最终效果大致如下: 后端: 引入pom依赖 <dependenci ...

  3. HTML jQuery实现点赞功能(模仿CSDN的样式)

    效果:(点赞前和点赞后) css代码: #dianzan {width: 55px;height: 22px;display: flex;flex-direction: row;justify-con ...

  4. JavaScript cookie操作实现点赞功能

    实现一个点赞功能十分简单,主要问题在于不能重复点赞. 若是一个有用户的网站,可以通过数据库设计记录用户的点赞,这是可行的. 但是若是一个不记名的网站,如何记录一个用户呢? 这里有两种方法: 第一种是利 ...

  5. mysql表点赞实现_小程序实现列表点赞功能

    最近在开发一个小程序,想添加一个点赞功能,那到底怎么实现呢?因为要和后台服务器同步数据,所以这个我想了好几天应该怎么实现点赞和取消点赞的逻辑,经过两天的实践调试,最终实现了. 思路如下: 1.找到对应 ...

  6. 小程序之列表点赞功能的实现

    最近在开发一个小程序,想添加一个点赞功能,那到底怎么实现呢?因为要和后台服务器同步数据,所以这个我想了好几天应该怎么实现点赞和取消点赞的逻辑,经过两天的苦逼实践调试,最终实现了(真的好累啊). 思路如 ...

  7. 系统设计-常见的点赞功能如何实现?如何防止刷赞?

    点击上方名片关注我,为你带来更多踩坑案例 - 引言 - 如果你是一个摸爬滚打几年的开发者,那么这个阶段,对系统设计的合理性绝对是衡量一个人水平的重要标准. 一个好的设计不光能让你工作中避免很多麻烦,还 ...

  8. 【Golang实现】B站点赞功能的思考与简单实现

    写在前面 本着学习的目的,我们来了解一下B站的点赞功能纠结是怎么做的?或者说我们应该如果实现一个点赞功能? 当然本人不是b站员工,也没有参与过b站的任何活动,所以我们就用自己的想法,如果是我们,怎么去 ...

  9. java mysql点赞功能_用Java做一个类似于微博QQ空间点赞的功能-Fun言

    点赞是一个互动性很强的功能,网站加入点赞可以增强用户之间的亲密度,可以利用点赞排出受欢迎文章或者其他的列表,所以今天教大家如何做一个类似于微博.QQ空间的点赞功能 需求分析: 首先要明确这个功能是需要 ...

最新文章

  1. [01]关于TDD、BDD和DDD的一些看法
  2. Gossip算法介绍
  3. jsp servlet table 集合list 数据 绑定
  4. 关于优酷开放SDK之onPrepareListener
  5. 【渝粤题库】国家开放大学2021春4010渠道管理答案
  6. python中decode函数在哪个库_python encode和decode函数说明
  7. NVelocity系列:NVelocity配置详解
  8. [bzoj 2768][bzoj 1877]
  9. 合适的大数据安全分析平台如何选择
  10. 进程+协程 计算操作
  11. Disruptor 极速体验
  12. 最长回文子串_5. 最长回文子串
  13. Android代码中更改TextView颜色
  14. The Django Book
  15. iphone5信号无服务器,南京苹果维修点告诉你iPhone手机显示无信号、wifi故障该怎么处理?...
  16. ShuffleNet算法详解
  17. 二层交换机、三层交换机和路由器的区别
  18. 某软件大赛编程题(转)
  19. 测试宝宝体重的软件,宝宝身高体重测试法
  20. 2016级移动应用开发在线测试13-Location、Sensor Network

热门文章

  1. Navicat提示Access violation at address in module ‘navicate.exe‘. Read of address 0000000000000000
  2. HarmonyOS应用开发JSAPI—js获取相册权限调用相册图片
  3. # 前端浏览器调试工具使用技巧
  4. 计算机三级网络技术考过攻略+考试资料
  5. 阴阳师模拟抽卡[含源码]
  6. 查BUG笔记-abs函数和fabs函数
  7. 看注重内心的唯品会如何坚守电商本质
  8. Js数组转字符串,字符串转数组
  9. 猿创征文|产品工具-面向综合效能提升的工具库
  10. [**奇文共赏**参考理解] 据说看五遍能懂的人智商 200