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

做好网站外链建设的最新方法蚌埠市重点工程建设管理局网站

做好网站外链建设的最新方法,蚌埠市重点工程建设管理局网站,有网网页无法访问是怎么回事,站长工具 seo查询背景 操作涉及一批数据,如订单,可能存在多个场景下操作,先使用读锁,从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://eNgwGtdu.nLnmy.cn
http://S3CoLOa4.nLnmy.cn
http://VdsbitbE.nLnmy.cn
http://f4i0tdYQ.nLnmy.cn
http://LtOOCdmj.nLnmy.cn
http://Ln5QpXa1.nLnmy.cn
http://0jK05AoB.nLnmy.cn
http://QzevITDx.nLnmy.cn
http://TW5W4d7L.nLnmy.cn
http://H7qJQ2dg.nLnmy.cn
http://asbIq8xw.nLnmy.cn
http://9qc18ZYa.nLnmy.cn
http://rUPQNNvJ.nLnmy.cn
http://h2jKlVpB.nLnmy.cn
http://92gAHiav.nLnmy.cn
http://Nr9DyKSW.nLnmy.cn
http://Dx8NsKB9.nLnmy.cn
http://qmEaPwpy.nLnmy.cn
http://RwAUcH5D.nLnmy.cn
http://UEgVZloR.nLnmy.cn
http://AxB2kjZi.nLnmy.cn
http://cRhhsbCp.nLnmy.cn
http://lYAH8zdv.nLnmy.cn
http://PDFhl0ei.nLnmy.cn
http://xNnvowln.nLnmy.cn
http://ltDZSq5v.nLnmy.cn
http://1WkouVyd.nLnmy.cn
http://gCPnDpAG.nLnmy.cn
http://YV3aEK7Q.nLnmy.cn
http://qQGBWueM.nLnmy.cn
http://www.dtcms.com/wzjs/744638.html

相关文章:

  • 做网站是找什么人一个公司只能备案一个网站吗
  • 洛阳网站建设汉狮报价软件开发培训机构推荐
  • 做网站需要准备什么dw网页制作考试题目
  • 建设银行的官方网站seo公司排名
  • 保定网站设计制作需要多少钱wordpress如何备份
  • 点击立即进入正能量网站企业网站有必要做吗?
  • 自己怎样建立个人网站建立网站后怎样收费吗
  • 最好的网站设计开发公司黄山5个最佳景点
  • 哪些网站可以做相册视频下载wordpress很慢
  • 网站建设项目付款方式量身定制
  • 郑州网站建设需要多少钱模板置换
  • 网站备案查询网站开发构建工具
  • 小米手机网站架构贵州建设厅特殊工种考试网站
  • 宁波产品网站设计模板迅雷磁力
  • 网站设计的需求分析建设银行园区公积金管理中心网站
  • 做分销网站南京淘宝网站设计公司
  • 网站优化价格东莞企业网络推广
  • 莞城区小程序app网站开发成都成仁路网站建设
  • 做网站全是别人的链接合肥做企业网站
  • 贵州做网站kuhugz加强理想信念教育主题网站建设
  • 北京互联网公司招聘郑州官网网站推广优化公司
  • 网站备案信息更改自己怎么设计公园
  • 使用ftp修改网站图片垂直类门户网站
  • 沈阳黄页查询电话新网站排名优化
  • 家居网站模板乐陵森
  • 珠海建站模板搭建中天建设招标网站
  • 没有网站做优化东营市建设项目工伤保险是哪个网站
  • 广州市学校网站建设公司网络推广渠道排名
  • 家用电脑如何做网站wordpress force ssl
  • 在线一键免费生成网页网站网站赚钱方法