java 利用 redis 轻松实现分布式秒杀系统
redis 轻松实现分布式秒杀系统
利用redis操作的原子性,轻松实现一个分布式的秒杀系统。
假设设计背景: 1万人去抢10个商品
设计思路:
在redis中存储一个list,每次用户请求抢购商品,就删除list队列中的一个值,这样,利用redis的原子性,就可以实现一个分布式秒杀系统。
代码示例:
存货:
向redis中存一个list,list中保存要秒杀的货品
取货
每次都取出list队列尾部的值,当值为null时表示没有货了,就抢购失败了
测试
向redis 的list中存储了5件货物,使用jmeter制造10个并发请求,结果如下
可以看到,是没有问题的
本文作者:yangruomao
本文链接:https://www.cnblogs.com/yangruomao/p/16990060.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2021-12-18 springboot 配置使用 Redis 缓存
2021-12-18 springboot 缓存注解的使用方法