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

做网站没有公网六安网站建设招聘

做网站没有公网,六安网站建设招聘,工商网站如何下载建设银行u盾证书,郑州新闻发布会使用redis的setnx命令放入数据并用此数据当锁完成业务(但是如果用户操作途中出现异常导致超出指定时间会出现问题) Service public class StockService {Autowiredprivate StockDao stockDao; //mapper注入Autowiredprivate StringRedisTemplate redisT…

使用redis的setnx命令放入数据并用此数据当锁完成业务(但是如果用户操作途中出现异常导致超出指定时间会出现问题)

@Service
public class StockService {@Autowiredprivate StockDao stockDao;	//mapper注入@Autowiredprivate StringRedisTemplate redisTemplate;	//使用redis方法//public String decrement(Integer productid) {ValueOperations<String, String> opsForValue = redisTemplate.opsForValue();//1.获取共享锁资源(通过进行redis放入数据的方式,如果放入成功说明redis没有该数据)Boolean flag = opsForValue.setIfAbsent("product::" + productid, "1111", 30, TimeUnit.SECONDS);//表示获取锁成功if(flag) {try {//根据id查询商品的库存int num = stockDao.findById(productid);if (num > 0) {//修改库存stockDao.update(productid);System.out.println("商品编号为:" + productid + "的商品库存剩余:" + (num - 1) + "个");return "商品编号为:" + productid + "的商品库存剩余:" + (num - 1) + "个";} else {System.out.println("商品编号为:" + productid + "的商品库存不足。");return "商品编号为:" + productid + "的商品库存不足。";}}finally {//释放锁资源(删除放入的该数据,然后准备开始下一次抢锁)redisTemplate.delete("product::"+productid);}}else{//休眠100毫秒 在继续抢锁try {Thread.sleep(100);} catch (InterruptedException e) {throw new RuntimeException(e);}return decrement(productid);}}
}

看门狗(改善版,解决了超时的bug)

引入依赖

<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.24.3</version>
</dependency>

编写配置类

@Configuration
public class RedissonConfig {@Beanpublic RedissonClient redisson(){Config config = new Config();//连接redis集群config.useClusterServers()use "rediss://" for SSL connection.addNodeAddress("redis://127.0.0.1:7181","","","");//连接单机config.useSingleServer().setAddress("redis://192.168.111.188:6379");RedissonClient redisson = Redisson.create(config);return redisson;}
}

业务代码

@Service
public class StockService {@Autowiredprivate StockDao stockDao;	//注入mapper@Autowiredprivate RedissonClient redisson;	//注入看门狗//public String decrement(Integer productid) {RLock lock = redisson.getLock("product::" + productid);	//获取锁资源lock.lock();	//上锁try {//根据id查询商品的库存: 提前预热到redis缓存中int num = stockDao.findById(productid);if (num > 0) {//修改库存---incr---定时器[redis  数据库同步]stockDao.update(productid);System.out.println("商品编号为:" + productid + "的商品库存剩余:" + (num - 1) + "个");return "商品编号为:" + productid + "的商品库存剩余:" + (num - 1) + "个";} else {System.out.println("商品编号为:" + productid + "的商品库存不足。");return "商品编号为:" + productid + "的商品库存不足。";}}finally {lock.unlock();	//释放锁资源}}
}
http://www.yayakq.cn/news/303973/

相关文章:

  • 哪个学校设有网站开发专业网页制作收费吗
  • 怎样快速做网站点餐小程序源码下载
  • iis6.1的网站建设及权限设置深圳俄语网站建设
  • 建设工程知识类网站网站内容百度不收录
  • 有道搜索引擎入口搜索引擎优化与关键词的关系
  • 国字类型网站有哪些内容wordpress all in one seo pack
  • 网站建设和风险评估青海哪家做网站的公司最大
  • 网页设计建立站点实验报告php做网页
  • 陕西网站建设营销推广南京站建设
  • 网站如何做淘宝支付宝网络运营是什么工作
  • 网站点击率高网页视频下载安卓
  • 山西建设执业注册中心网站电商有创意名字
  • 天津建站模板源码.net 网站开发视频
  • 网站免费正能量软件下载视频网页制作题怎么编辑
  • flash做的网站node做网站优势
  • 免费提供网站建设外贸企业网站模板建设可以吗
  • 给网站做选题网络推广培训哪里好
  • 一个公网ip可以做几个网站写作网站六大神书
  • 娄底手机网站制作WordPress网站积分系统
  • html前端网站开发建设网站英文翻译
  • 建设网站需要的技术怎么做网页快
  • 云南省建设厅定额网站温州网站的优化
  • wordpress调用网站标题平台优化方案
  • php手机网站制作百度seo优化是什么
  • 在线推广企业网站的方法有闵行交大网站建设
  • 网站备案要啥设计网站酷
  • 做网站淮南商城网站建设哪家效益快
  • 用c 做网站可以吗因脉网站建设公司怎么呀韩国
  • 如何做教育类网站北京seo优化外包
  • 医药公司网站建设wordpress自动锚文本