• 视频点赞功能以及记录观看次数的设计


    最近博主参与了一个需求,类似于抖音小视频。本人独立负责这个需求中的点赞功能、记录视频观看记录。因为是独自负责的,从0到1开发,历时三天开发完成。开发过程中感悟良多,对此决定记录下。

    首先是针对该功能的技术方案。楼主想了三种方案:

    方案1:

    强依赖于redis,将点赞数,点赞的记录、观看数实时存储在redis,同时创建一个set集合,维护点赞数的key和点赞记录的key。然后定时任务定时的将set集合的key的数据持久化到mysql。

    方案2:

    使用redis的incr、decr命令来记录点赞和取消点赞的操作的点赞数。并且redis中存储每个用户的点赞记录。将点赞操作和记录观看数的操作做出异步的任务。将异步任务提交到线程池中,然后异步任务将点赞持久化到mysql。

    方案3:

    使用redis的incr、decr命令来记录点赞和取消点赞的操作的点赞数。并且redis中存储每个用户的点赞记录。然后,使用MQ将点赞持久化到mysql。

    方案 方案1   方案2   方案3
    优点     数据准确性较差 实时/高效 实时/高效/能保证落库准确性
    缺点 需考虑定时任务的时间设置,比较麻烦/缓存一致性问题 异步任务存在消费顺序问题/缓存一致性问题 使用mq需考虑消费失败问题/缓存一致性
  • 相关阅读:
    ajax遇到的问题
    Javascript事件传播(冒泡机制) (摘自 博客园 萍水相逢)
    学习的一点体悟和衷告
    localStorag的一点见解
    感谢!
    文件上传的一些方法
    form:form的一点体会
    鼠标事件大汇总
    readonly和disabled的异同
    说说icon图标
  • 原文地址:https://www.cnblogs.com/LcMiho/p/11734524.html
Copyright © 2020-2023  润新知