From 26419bf11ec888de7af9141a0ac1874065775e61 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 04 十一月 2023 13:59:51 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/utils/RedisUtil.java | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/common/utils/RedisUtil.java b/src/main/java/com/zy/common/utils/RedisUtil.java
index 95da6dc..33a9694 100644
--- a/src/main/java/com/zy/common/utils/RedisUtil.java
+++ b/src/main/java/com/zy/common/utils/RedisUtil.java
@@ -1,5 +1,6 @@
package com.zy.common.utils;
+import com.baomidou.mybatisplus.toolkit.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
@@ -25,11 +26,33 @@
@Autowired
private RedisTemplate redisTemplate;
+ @Autowired
+ private StringRedisTemplate stringRedisTemplate;
+
+ private static final String LOCK_PREFIX = "lock:";
+ private static final long DEFAULT_EXPIRE_TIME = 10; // 榛樿閿佽繃鏈熸椂闂达紝鍗曚綅涓哄垎閽�
+
public RedisUtil(RedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
}
/**
+ * Redis鍔犻攣鐨勬搷浣�
+ */
+ public Boolean tryLock(String key) {
+ String redisKey = LOCK_PREFIX + key;
+ return redisTemplate.opsForValue().setIfAbsent(redisKey, "locked", DEFAULT_EXPIRE_TIME, TimeUnit.MINUTES);
+ }
+
+ /**
+ * Redis瑙i攣鐨勬搷浣�
+ */
+ public void unlock(String lockKey) {
+ String redisKey = LOCK_PREFIX + lockKey;
+ redisTemplate.delete(redisKey);
+ }
+
+ /**
* 鎸囧畾缂撳瓨澶辨晥鏃堕棿
*
* @param key 閿�
--
Gitblit v1.9.1