嗨~大家好,这里是SharingOfficer,一起来聊一聊帖子点赞解决方案,咱们往下看😉
点赞业务场景分析
- 点赞或取消点赞,用户点击功能
- 看帖子信息:通过用户id和帖子id,查看该帖子的点赞数、该用户是否点赞状态。
点赞的技术方案
点赞的关键技术就是要判断该用户是否点赞,已重复点赞的不允许再点赞,即过滤重复,虽然业务不复杂,可以采用数据库直接实现,但是对于微博这种高并发的场景,不可能查数据库的,一般是缓存,即redis
- 点赞或取消点赞,用户点击功能
采用的是redis的set数据结构,key=like:postid value={userid}
采用sadd命令,添加点赞
127.0.0.1:6379> sadd like:1000 101
(integer) 1
127.0.0.1:6379> sadd like:1000 102
(integer) 1
127.0.0.1:6379> sadd like:1000 103
(integer) 1
127.0.0.1:6379> smembers like:1000
1) "101"
2) "102"
3) "103"
复制代码