9.8. 减少 SQL 查询(下)

减少 SQL 查询

上一节我们优化掉了用户地址相关的 SQL 查询,接下来我们需要把剩下四个 SQL 优化掉。

1. 优化思路

先来看看三个商品相关的 SQL,这三个 SQL 是在 Request 类中用于判断用户提交的 SKU ID 是否属于一个秒杀商品、判断库存是否充足、以及当前是否在对应的商品秒杀期间。我们可以将秒杀商品的库存保存到 Redis 中,有用户创建秒杀订单就将对应的 Redis 值减一,秒杀订单被关闭就将其值加一。Redis 的性能远高于 MySQL,因此可以提高效率。

再看看第一个 SQL,是在 auth 中间件校验用户登录状态时发出的查询,我们可以将这个查询延迟到判断库存之后,这样当秒杀商品已经没有库存的时候,提交下单请求就不会产生任何的 SQL 了。

2. 调整后台控制器

首先...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0

暂无话题~