java 利用 redis 轻松实现分布式秒杀系统
redis 轻松实现分布式秒杀系统
利用redis操作的原子性,轻松实现一个分布式的秒杀系统。
假设设计背景: 1万人去抢10个商品
设计思路:
在redis中存储一个list,每次用户请求抢购商品,就删除list队列中的一个值,这样,利用redis的原子性,就可以实现一个分布式秒杀系统。
代码示例:
存货:
向redis中存一个list,list中保存要秒杀的货品
取货
每次都取出list队列尾部的值,当值为null时表示没有货了,就抢购失败了
测试
向redis 的list中存储了5件货物,使用jmeter制造10个并发请求,结果如下
可以看到,是没有问题的