我是靠谱客的博主 留胡子香烟,最近开发中收集的这篇文章主要介绍Redis使用watch完成抢购功能(基础版)Redis使用watch完成抢购功能(基础版),觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
Redis使用watch完成抢购功能(基础版)
Redis使用watch实现抢购功能有如下优点:
1、选用内存数据库Redis来实现抢购,速度极快
2、使用watch,采用乐观锁,不采用悲观锁,因为等待时间非常长,响应慢,会迅速增加系统资源占用
3、不使用队列,因为并发量会使内存数据库资源瞬间爆炸
开始此功能前,先简单了解几个此功能需要用到的Redis事物命令:
1、MULTI :开始一个事务
2、EXEC:执行所有事物块内的命令
3、WATCH: 监视一个(或多个) key,如果在事务执行之前这个(或这些) key被其他命令所改动,那么事务将被打断
代码使用watchKeys存储抢购商品数量,UUID随机生成模拟客户数据,successSet存储抢购成功的客户信息,failSet存储抢购失败的客户信息。
使用ExecutorService线程池的newCachedThreadPool建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。
Redis使用watch完成抢购功能(基础版)的代码地址:https://github.com/zhyiC/JetBrains/tree/master/redis
最后
以上就是留胡子香烟为你收集整理的Redis使用watch完成抢购功能(基础版)Redis使用watch完成抢购功能(基础版)的全部内容,希望文章能够帮你解决Redis使用watch完成抢购功能(基础版)Redis使用watch完成抢购功能(基础版)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复