如何利用 Redis 实现秒杀活动中的实时库存减少?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1229个文字,预计阅读时间需要5分钟。
Redis预减库存+主要思路减少对数据库的访问,之前的库存缓存,直接访问数据库,读取库存,当高并发请求到来时,大量的读取操作可能导致数据库崩溃。思路:系统初始化
Redis预减库存主要思路减少对数据库的访问,之前的减库存,直接访问数据库,读取库存,当高并发请求到来的时候,大量的读取数据有可能会导致数据库的崩溃。
思路:
- 系统初始化的时候,将商品库存加载到Redis 缓存中保存
- 收到请求的时候,现在Redis中拿到该商品的库存值,进行库存预减,如果减完之后库存不足,直接返回逻辑Exception就不需要访问数据库再去减库存了,如果库存值正确,进行下一步
- 将请求入队,立即给前端返回一个值,表示正在排队中,然后进行秒杀逻辑,后端队列进行秒杀逻辑,前端轮询后端发来的请求,如果秒杀成功,返回秒杀,成功,不成功就返回失败。
本文共计1229个文字,预计阅读时间需要5分钟。
Redis预减库存+主要思路减少对数据库的访问,之前的库存缓存,直接访问数据库,读取库存,当高并发请求到来时,大量的读取操作可能导致数据库崩溃。思路:系统初始化
Redis预减库存主要思路减少对数据库的访问,之前的减库存,直接访问数据库,读取库存,当高并发请求到来的时候,大量的读取数据有可能会导致数据库的崩溃。
思路:
- 系统初始化的时候,将商品库存加载到Redis 缓存中保存
- 收到请求的时候,现在Redis中拿到该商品的库存值,进行库存预减,如果减完之后库存不足,直接返回逻辑Exception就不需要访问数据库再去减库存了,如果库存值正确,进行下一步
- 将请求入队,立即给前端返回一个值,表示正在排队中,然后进行秒杀逻辑,后端队列进行秒杀逻辑,前端轮询后端发来的请求,如果秒杀成功,返回秒杀,成功,不成功就返回失败。

