Redis实现点赞功能模块

文章详细描述了一个点赞功能的设计,包括Redis中的HashMap数据结构用于存储点赞信息,如用户某篇文章的点赞数、用户总点赞数和用户点赞的文章。同时,介绍了MySQL的表结构设计以及点赞和取消点赞的逻辑实现。此外,还提到了存在的并发问题和分布式环境下的优化需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能点设计

比如我喜欢发文章的掘金网站就有点赞的功能,统计文章点赞的总数,用户所有文章的点赞数,因此设计的点赞功能模块具有以下功能点:

  • 某篇文章的点赞数
  • 用户所有文章的点赞数
  • 用户点赞的文章
  • 持久化到MySQL数据库

数据库设计

  • Redis数据库设计 RedisK-V数据库,没有统一的数据结构,针对不同的功能点设计了不同的K-V存储结构

    • 用户某篇文章的点赞数 使用HashMap数据结构,HashMap中的keyarticleIdvalueSetSet中的值为用户ID,即HashMap<String, Set<String>>
    • 用户总的点赞数 使用HashMap数据结构,HashMap中的keyuserIdvalueString记录总的点赞数
    • 用户点赞的文章 使用HashMap数据结构,HashMap中的keyuserIdvalueSetSet中的值为文章ID,即HashMap<String, Set<String>>
  • MySQL数据库设计 最主要的两张表,article表和user_like_article

    • article表结构
    字段值 字段类型 说明
    article_name varchar 文章名字
    content blob 文章内容
    total_like_count bigint 文章总点赞数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值