RedisUtil-redisTemplate-setNX
//作为普通锁
public boolean setNX(String key, String value) {
return (Boolean) redisTemplate.execute((RedisCallback) connection -> {
Boolean acquire = connection.setNX(key.getBytes(), value.getBytes());
if (acquire) {
return true;
} else {
return false;
}
});
}
//重试锁
public boolean retrySetNX(String key, String value) {
return (Boolean) redisTemplate.execute((RedisCallback) connection -> {
Boolean acquire = connection.setNX(key.getBytes(), value.getBytes());
if (acquire) {
return true;
} else {
return retrySetNX(key, value);
}
});
}
//setNX设置有效期
//expire 单位:s
public boolean setNXAndTime(final String key, final String value, final long expire) {
return (Boolean) redisTemplate.execute((RedisCallback) connection -> {
Object obj = connection.execute("set", key.getBytes(), value.getBytes(), SafeEncoder.encode("NX"), SafeEncoder.encode("EX"), Protocol.toByteArray(expire));
return obj != null;
});}
相关文章
- 经典 backbone 总结
- 3D视觉算法初学概述
- 万字长文解析Scaled YOLOv4模型(YOLO变体模型)
- 万字长文详解 YOLOv1-v5 系列模型
- 一阶段目标检测网络-RetinaNet 详解
- 深度学习炼丹-数据预处理和增强
- 二阶段目标检测网络-Cascade RCNN 详解
- 二阶段目标检测网络-Mask RCNN 详解
- 二阶段目标检测网络-FPN 详解
- 二阶段目标检测网络-Faster RCNN 详解
- Backbone 网络-DenseNet 论文解读
- 深度学习炼丹-超参数设定和模型训练
- 深度学习炼丹-不平衡样本的处理
- Halcon 快速入门教程
- Backbone 网络-ResNetv2 论文解读
- C++日期和时间编程总结
- OpenCV3 图像处理笔记
- 算法图解笔记
- 神经网络量化基础
- 目标检测模型的评价标准-AP与mAP