随便写下,记录一下思路,以免记忆丢失。。。。。。。。。。。。。。。。。。。
最近在做项目中遇到这样一个场景:
优惠券模块:
在创建优惠券时通过一个模板,创建相应数量优惠券,每张优惠券均提前生成一条优惠券数据。
用户领取优惠券首先是查询对应模板下所有优惠券默认取一张占用,但是在高并发情况下会出现多个用户占用同一张优惠券的情况,之前也没做过太多类似场景,没想到太好办法,解决过程中考虑过一下方案最终选定最后一种:
1、分布式锁:
用户领取时 针对该模板加锁,占用锁用户处理完成其他用户才能处理。此种情况优惠获取锁没有顺序,可能会出现有的用户一直获取不到锁的情况。
2、添加排重表:
添加一张表以优惠券id为主键,用户领取时先把对应优惠券插入排重表成功则占用,失败说明已经被占用,也可以使用redis缓存来解决排重问题。
相关推荐
可以查看本机运行的java程序的资源利用情况,帮助您找出java应用程序在系统资源利用情况。
YDT 2442-2013 互联网数据中心资源占用、能效及排放技术要求和评测方法
觉的不错.端口被占用了如何查看是被哪个应用程序占用的呢
查看Linux下系统资源占用常用命令.docx
当用户量过大,或服务器性能不足以支持大用户量,但同时又得不到扩容的情况下,进行性能分析,并对系统、应用、程序进行优化显得尤为重要,也是节省资源的一种必不可少的手段。目前大多数运维产品都基于JAVA语言开发...
uCGUI中文手册 uCGUI的性能与资源占用
监视串口232数据,最好的是可以不占用串口,这样可以监视整个数据流,调试非常方便
Android软件平台架构与应用开发; 2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机T-Mobile G1,该款手机为宏达电制造,是世界上第一部基于真正开放的和完整的移动软件Android操作系统的手机,...
Android开发,获取当前手机安装的所有应用、根据包名获取应用信息、获取当前应用程序的包名、获取程序 图标、获取程序的版本号、获取程序的名字、获取程序的权限、获取程序的签名、获取当前包名的 SHA1、将获取到得...
原创为俄国人,从另外一个网站上找到的,不占用串口资源而且存储方便.适合监听和开发使用
电脑串口号被占用释放方法(附图详细教程):如果电脑串口号使用提示被占用或者已经打开的错误提示,说明串口资源被占用未合理释放,需要手动清除。
在vs2003下用 VC++开发的,里面的知识点供初学者参考。 zyx
查前10条占用CPU资源
Android通过IPackageStatsObserver.aidl 、PackageStats.aidl两个AIDL文件获取第三方应用的占用大小,包括缓存、数据、应用大小,经验证和手机设置里面显示的大小完全一致。。。。。。如果还需要其他比如清除缓存之...
用于windows下查看某一进程内线程资源占用情况,排查具体哪个线程在占用大量资源
软件启动后, 将显示两个窗口,一个是,当前看到的窗口,IIS中所有应用程序池都显示出来了(包括未启动应用程序池),另一个是服务器活动应用程序池 CPU 占用率窗口。 首先在活动池中找出CPU占用率非常高的池,这...
减少资源占用的一种除法器,可完成32位整数除法运算,并得出余数。
用C#编写的应用程序占用CPU和内存大小数据采集软件,数据库sql脚本在db目录里,可以自行设置所要采集的应用程序,具体设置在app.config配置文件里设置,已经有很详细的注释,该资源为软件源码,希望对您有帮助
端口查看软件 查看哪些端口被占用端口查看软件 查看哪些端口被占用端口查看软件 查看哪些端口被占用端口查看软件 查看哪些端口被占用端口查看软件 查看哪些端口被占用
一个不占用串口的串口监视监控源代码,c++ 一个不占用串口的串口监视监控源代码,c++