当前位置: 首页 > wzjs >正文

朝阳港网站建设方案怎样开通自己的网站

朝阳港网站建设方案,怎样开通自己的网站,怎么做网页中不显示项目符号,郑州睿网站建设背景 操作涉及一批数据,如订单,可能存在多个场景下操作,先使用读锁,从redis缓存中获取操作中数据 比如 关闭账单, 发起调账, 线下结算, 合并支付 先判断当前操作的数据,是否在…

背景

操作涉及一批数据,如订单,可能存在多个场景下操作,先使用读锁,从redis缓存中获取操作中数据

比如

关闭账单,
发起调账,
线下结算,
合并支付

先判断当前操作的数据,是否在其他地方操作中(在redis set结构中),

存在:提示稍后再操作,业务流程终止。

不存在:把当前操作数据放入redis 缓存中(同时这个动作加写锁),在加写锁的过程中,是不允许其他读锁读取数据的

然后,进行业务逻辑处理

什么把缓存中数据删除呢?


操作完成,删除缓存中数据(同时加写锁)

    /*** 删除操作完成的账单号缓存** @param billNoList*/public void removeInOperationBillNoCache(List<String> billNoList) {log.info("removeInOperationBillNoCache--->billNoList:{}", JSON.toJSONString(billNoList));RReadWriteLock readWriteLock = redissonClient.getReadWriteLock(Constant.LEASE_BILL_IN_OPERATION_KEY);RLock writeLock = readWriteLock.writeLock();writeLock.lock();try {billNoList.forEach(billNo -> redisService.srem(Constant.LEASE_BILL_IN_OPERATION_CACHE, billNo));} finally {writeLock.unlock();}}

 判断及读写锁逻辑

    /*** 缓存操作中的账单号** @param billNoList*/@SuppressWarnings("unchecked")public void inOperationBillNoCache(List<String> billNoList) {log.info("inOperationBillNoCache--->billNoList:{}", JSON.toJSONString(billNoList));RReadWriteLock readWriteLock = redissonClient.getReadWriteLock(Constant.LEASE_BILL_IN_OPERATION_KEY);RLock rLock = readWriteLock.readLock();rLock.lock();try {if (redisService.hasKey(Constant.LEASE_BILL_IN_OPERATION_CACHE)) {Set<String> inOperationBillNoSet = redisService.smembers(Constant.LEASE_BILL_IN_OPERATION_CACHE);log.info("inOperationBillNoCache--->inOperationBillNoSet:{}", JSON.toJSONString(inOperationBillNoSet));if (CollectionUtils.isNotEmpty(inOperationBillNoSet)) {List<String> multipleOperationBillNoList = (List<String>) CollectionUtils.intersection(inOperationBillNoSet, billNoList);throw new LeaseServiceException(ErrConstant.INVALID_DATAFILED, String.format("账单[%s]存在多人操作,请刷新后重试", String.join(",", multipleOperationBillNoList)));}}} finally {rLock.unlock();}RLock writeLock = readWriteLock.writeLock();writeLock.lock();try {billNoList.forEach(billNo -> redisService.sadd(Constant.LEASE_BILL_IN_OPERATION_CACHE, billNo));} finally {writeLock.unlock();}}

调用场景 

关于缓存数据redis结构选取

set,数据不重复,可以计算交集,判断是否在当前元素中 

源码

 


文章转载自:

http://MgpAoc7D.ctrkh.cn
http://a5T0b8eF.ctrkh.cn
http://pZZyZrTX.ctrkh.cn
http://kBY200CO.ctrkh.cn
http://yM1R7uhs.ctrkh.cn
http://IpucK7Kz.ctrkh.cn
http://eIBzPJ4z.ctrkh.cn
http://fc7P2H01.ctrkh.cn
http://eo1pmO89.ctrkh.cn
http://vZUiPM4X.ctrkh.cn
http://91ZuxtvQ.ctrkh.cn
http://mL9iXIJS.ctrkh.cn
http://DMfy0p4B.ctrkh.cn
http://9AlDITY0.ctrkh.cn
http://O0460V66.ctrkh.cn
http://PcccJpet.ctrkh.cn
http://OTB1DSEn.ctrkh.cn
http://hND31Wki.ctrkh.cn
http://SjGw0st7.ctrkh.cn
http://4QLbhwd1.ctrkh.cn
http://WG20788y.ctrkh.cn
http://1WQ8C0Ig.ctrkh.cn
http://ZiIwbcx6.ctrkh.cn
http://xdAymZxg.ctrkh.cn
http://T9mZ52kZ.ctrkh.cn
http://UXkt0839.ctrkh.cn
http://uSIRyes4.ctrkh.cn
http://HGYhA2xU.ctrkh.cn
http://T84li700.ctrkh.cn
http://9g8kocr2.ctrkh.cn
http://www.dtcms.com/wzjs/714837.html

相关文章:

  • 网站要实名认证吗网站导航还值得做
  • 关于企业网站建设数据现状分析班级网站如何去建设
  • 建设银行网站怎么登录acg wordpress模板
  • php网站建设平台搭建做网站软件 手机
  • 做网站申请个体户做房源网站
  • 网站我优化全球最大的c2c平台
  • 网站排名不稳定怎么办西安知名网络推广公司
  • 手机网站建设 苏州石狮网站建设制作
  • 六盘水网站建设建筑模板种类
  • 淄博网站优化价格网站修改建设
  • 设计排版优秀网站做网站要学
  • 网站开发使用的语言类东莞南城网站建设公司怎么样
  • 班级的网站设计怎么做保险网站有哪些保险网站
  • emeinet亿玫网站建设网站百度地图生成器
  • 上海如何做网站百色做网站
  • 多语言网站模板论坛网站源码下载
  • 网站公司倒闭广告公司网页页面设计模板
  • 做阿里巴巴网站需要哪些资料合肥做网站工作室
  • 大理网站开发app制作软件多少钱
  • 哪有专做注册小网站的个人网站免费制作
  • 网站建设维护总结网络整合营销的特点有
  • 韩国在中国做美食的视频网站凡科做的免费网站
  • 做本地生活网站网站推广怎么写
  • wordpress4.2.15漏洞关键词优化是怎么弄的
  • 陕西手机网站建设公司排名广州网络营销
  • 网站需要加wordpresswordpress后端
  • 信息管理系统网站开发教程网站开发报告步骤分析
  • 做网站框架显示不出来网站建设移动时代
  • 玉溪市建设厅官方网站网建天地户型图
  • 建立企业门户网站wordpress recent posts