java 利用 redis 轻松实现分布式秒杀系统

redis 轻松实现分布式秒杀系统

利用redis操作的原子性,轻松实现一个分布式的秒杀系统。

假设设计背景: 1万人去抢10个商品

设计思路:

在redis中存储一个list,每次用户请求抢购商品,就删除list队列中的一个值,这样,利用redis的原子性,就可以实现一个分布式秒杀系统。

代码示例

存货:

向redis中存一个list,list中保存要秒杀的货品

image-20221218102522033

取货

每次都取出list队列尾部的值,当值为null时表示没有货了,就抢购失败了

image-20221218102615973

测试

向redis 的list中存储了5件货物,使用jmeter制造10个并发请求,结果如下

image-20221218102743903

可以看到,是没有问题的

posted @ 2022-12-18 10:30  yangruomao  阅读(299)  评论(0编辑  收藏  举报