秒杀系统 消息队列作用、redis分布式锁

面试的时候遇到了,实在是对秒杀系统掌握的还不够

问题1:既然redis预减库存了,直接把预减后的数据对数据库一致化操作,为什么要通过消息队列?
问题2:redis保存库存+redis预减库存+卖完标记这样的方式能否解决超卖?是否需要redis分布式锁?

求求大佬们帮我解答一下
全部评论
消息队列是用来削峰的吧感觉
1 回复 分享
发布于 2020-08-16 19:40
秒杀redis库存和db库存不用强一致,只需要保证db不减成负的就行了,可以少卖但是不可以超卖
点赞 回复 分享
发布于 2020-08-16 18:07

相关推荐

项目遇到什么问题?(ffmpeg+qt+sdl播放器)(多线程,同步)项目是从零开始还是学开源项目的?(肯定开源啊)有修改哪些模块吗?把音频模块修改了,将QAudioOutput改写成sdl处理(实际情况是反过来,但简历来不及改了,嘻嘻)qt用的是qml还是qwidget(用的是qwidget)qt框架了解多吗?(只能说会用,这么多东西鬼记得住)为什么没做一些功能拓展?(倍速和播放分辨率没弄)如果让你实现倍速需要哪些操作?opengl熟吗?(只是用到,了解一下)多线程同步有哪些手段?(互斥、信号量、条件变量)进程同步怎么实现?(希腊奶)计算机网络5层和7层模型?http在哪一层?tcp在哪一层?http和tcp有什么区别?tcp和udp区别?http用的是tcp还是udp?路由器在哪一层?知道哪些路由协议吗?(希腊奶)dns解析有几级缓存?输入www.baidu.com到返回显示页面经历哪些过程?对于面向对象的理解?项目有用到面向对象吗?(有,但不多)项目有用到设计模式吗?(没有)C++哪些语法特性给你愉悦开发体验?(头一次听说这种问题,随便答了个lambda表达式)lambda有哪些捕获方式?你用lambda哪些地方用到比较多?(答了子线程)子线程加锁要怎么实现?创建子线程时把锁传进去吗?问了一下为什么简历做了rtsp服务器项目(说是为了以后做视频会议做考虑,实际是来凑数的)stl了解吗?列举你知道的map和unordered_map区别?为什么要有红黑树和哈希表,即应用场景是什么?问了一下学校课程情况?说了一下课程情况(学校讲的都是大便,还不都是自学的)两道题:(不知道为什么题写不了)第一道题:给定一个数组,求最大连续子数组的和(动态规划没思路,就说了用两个for循环暴力求解)第二道题:题目不知道怎么表述,反正是链表+递归解决
查看30道真题和解析
点赞 评论 收藏
分享
2 20 评论
分享
牛客网
牛客企业服务