const redis = require('ioredis');
const clienId = Math.random() * 100; //模拟客户端Id
const lockKey = 'testKey'
try {
const result = await redis.setnx(lockKey, clienId, 'EX', 10); //防止死锁,10秒
if (result == 0) {
return '系统繁忙!';
}
//省略去库存等业务操作
} catch (error) { } finally {
if (clienId == await redis.get(lockKey)) {
await redis.del(lockKey);
}
}

  

最新文章

  1. [deviceone开发]-课程表的例子
  2. POJ 3278 The merchant
  3. [转] JVM 调优系列 & 高并发Java系列
  4. 如何解决链入js,innerHTML中文乱码问题呢?
  5. 【MySQL】MySQL无基础学习和入门之二:MySQL的安装
  6. js静态方法和实例方法
  7. protected的一些功能
  8. 自动注册 IIS6 的 MIME 类型
  9. apache.commoms.digester3 解析xml文件
  10. iOS开发之NSTimer
  11. LAMP环境的搭建(一)----Apache安装
  12. Android简易实战教程--第二十二话《自定义组合控件模拟qq登录下拉框和其中的一些”小技巧”》
  13. 设计模式系列之过滤器模式(Chriteria Pattern)
  14. Java线程池—ThreadPool简介
  15. MySQL GTID你知多少
  16. 类修饰符为abstract与final
  17. linux学习笔记之 basename, dirname
  18. Linux+Jenkins环境搭建
  19. # 20155214 2016-2017-2 《Java程序设计》第8周学习总结
  20. CentOs7下搭建LAMP环境

热门文章

  1. 转发-》c++ stl multimap基本操作使用技巧详细介绍
  2. UF_CURVE_ask_arc_data圆弧角度
  3. 实验5:开源控制器实践POX
  4. Pytorch加载txt格式的数据集文件(以PTB数据集为例)
  5. 算法学习—————PAM回文自动机
  6. 第十三天笔记Cookie
  7. 3 - 标准数据加密(DES)及其备选
  8. maven jar包新版本检测工具推荐
  9. vscode 远程连接 linux 远程开发
  10. win10 蓝屏代码 IRQL NOT LESS OR EQUAL 问题排查(ing)