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