Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
354 views
in Technique[技术] by (71.8m points)

为啥如今php做秒杀都用redis,mysql的悲观锁不一样可以解决超卖问题吗 ?

为啥如今php做秒杀都用redis,mysql的悲观锁不一样可以解决超卖问题吗 ?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

有get你提问的问题是什么?
其实别说redis、mysql 甚至文件都可以做秒杀

问题 为什么 redis比mysql更适合

第一点 降低mysql的压力
web应用的架构 是由 n服务器 + mysql 组成的 机器可以无限横向扩容 mysql只有一台 所以任何的义务考虑都需要考虑mysql这一点 如果用redis做锁可以较少大部分无效请求落到数据库上
第二点 性能上
mysql的索引是b+树 大家应该都清楚 时间复杂度O(Log(n)) 那么 如果redis 用set、get、incr的方式 时间复杂度是 O(1) 从这一点 redis > mysql
第三点 实现上
mysql的开发需要建表 以后拓展啥的 还要alter table 啥的 大家都知道更新生产环境的表是多么痛苦 redis可能就舒服的要死了 具体不细说 自己可以品下 用redis的开发成本和mysql开发成本


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...