redis mysql评论点赞_Redis实现点赞功能模块

之前看了一篇文章,讲redis的应用场景,其中一个应用场景就是实现点赞功能,纸上得来恐觉浅,必须实战一波

功能点设计

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

某篇文章的点赞数

用户所有文章的点赞数

用户点赞的文章

持久化到MySQL数据库

数据库设计

Redis数据库设计

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

用户某篇文章的点赞数

使用HashMap数据结构,HashMap中的key为articleId,value为Set,Set中的值为用户ID,即HashMap>

用户总的点赞数

使用HashMap数据结构,HashMap中的key为userId,value为String记录总的点赞数

用户点赞的文章

使用HashMap数据结构,HashMap中的key为userId,value为Set,Set中的值为文章ID,即HashMap>

MySQL数据库设计

最主要的两张表,article表和user_like_article

article表结构

字段值

字段类型

说明

article_name

varchar

文章名字

content

blob

文章内容

total_like_count

bigint

文章总点赞数

文章总的点赞数需要和Redis中的点赞数进行同步

user_like_article表结构

字段值

字段类型

说明

user_id

bigint

用户ID

article_id

bigint

文章ID

记录用户点赞文章的信息,是一张中间表

说明:表结构设计省略了id、deleted、gmt_creat

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值