关注
来讲点原有的改造吧。
黑马点评有旧有的点赞系统,它是通过redis的Zset集合简单实现的。每次更新的时候更新数据库。但如果在高并发下,每一个用户点赞就要更新一次数据库,数据库的压力会非常大,崩掉也很正常。首先用户点赞后,采用redis自带的原子命令将点赞数更新,之后更新数据库。并发情况下更新数据库需要消息队列异步更新,采用批量消息执行和批量插入,将多次点赞执行消息一次插入执行,并做好补偿机制,保障消息任务执行失败的场景。
而在查询点赞排行榜的时候,若缓存失效了,此时查询数据库更新缓存。正常流程是先查库再重建缓存,但要考虑到高并发的影响防止将数据库打崩。第一步当前请求发现缓存失效,需要上分布式锁,要进行双重锁校验,之后推荐发送异步消息至消息队列进行重建缓存的逻辑,不建议当前请求重构缓存。之后当前请求可以等待正常的少量时间,返回更新后缓存中的值。若缓存迟迟未建立,推荐返回默认页面。
查看原帖
11 评论
相关推荐
牛客热帖
更多
- 1... 28届实习拷打,一场面试,23个Agent问题1.0W
- 2... 我们为什么要做网申助手这个插件1.0W
- 3... 🔥牛客春招季🔥各公司春招&实习最新进展,这里实时更新!8130
- 4... 携程3.18Java开发一面面经6145
- 5... 找实习两个月,工具用了一堆,最后只留下这些5881
- 6... 字节ByteIntern剪映后端三面面经5295
- 7... 小红书前端日常实习二面凉经4122
- 8... 面试官视角聊聊:如何通过AI coding面试?附焚决3982
- 9... 命运换了个赛道给我发牌3861
- 10... 字节暑期实习OC3544
正在热议
更多
# 跟HR说什么能被秒回? #
10864次浏览 184人参与
# 视觉/交互/设计百问百答 #
76430次浏览 460人参与
# 巨人网络春招 #
10389次浏览 164人参与
# 春招/暑实第一面是哪家? #
22228次浏览 241人参与
# 如何一边实习一边找下家? #
34580次浏览 247人参与
# 你收到了哪些公司的笔试? #
20602次浏览 114人参与
# MiniMax求职进展汇总 #
16672次浏览 246人参与
# 面试官最爱问的 AI 问题是...... #
18559次浏览 621人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
3628次浏览 97人参与
# 你的嫡系AI是哪个? #
5041次浏览 119人参与
# 现在入门AI应该走哪些方向? #
5175次浏览 106人参与
# 总结:哪家公司面试体验感最差 #
105083次浏览 466人参与
# 京东美团大战,你怎么看? #
174556次浏览 883人参与
# 京东开奖 #
673960次浏览 3238人参与
# 正在春招的你,也参与了去年秋招吗? #
359698次浏览 2614人参与
# 面试吐槽bot #
178606次浏览 832人参与
# 想给25届机械人的秋招建议 #
46261次浏览 247人参与
# 职能管理面试记录 #
9390次浏览 46人参与
# 第一次面试 #
1098254次浏览 13827人参与
# 电信求职进展汇总 #
45557次浏览 210人参与
# 阿里巴巴工作体验 #
27079次浏览 61人参与
# 实习生如何通过转正 #
130211次浏览 1477人参与
查看11道真题和解析