再问秒杀锁问题

2017-09-04 04:14:29 +08:00
 cevincheung

现成的技术解决方案太多,redis 的并发性能真的是没得说,关键是想问问都是怎么处理数据同步的问题的。

发布秒杀活动,发布成功后就直接入 redis ?

if (insert ok) redis.set('ms:itemid',stock) ?

入 redis 失败了呢? redis 挂掉这阶段的数据没保存呢(还没来得及 fsync)?

活动结束后 怎么删除(不能用 setnx 的场景,没过期时间,售完算完)?

if(decr('ms:itemid')<0) del('ms:itmeid') ?

怎么及时的删除脏数据?

大半夜睡不着不知道自己在纠结什么。 :(

5858 次点击
所在节点    Redis
22 条回复
zhengwenk
2017-09-05 13:24:08 +08:00
@caijihui11 其实也可以把请求入队列,只消费前 300 个,之后的请求都抛弃掉。
1cming
2018-05-10 20:44:05 +08:00
3#666

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/387921

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX