From efd9ac5b88dfdb3c4d2e4bcc5e7a5258aa55542c Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 21 四月 2025 20:29:15 +0800
Subject: [PATCH] 更换缓存连接方式

---
 DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java |  163 ++++++++++++++++++++++++++++--------------------------
 1 files changed, 84 insertions(+), 79 deletions(-)

diff --git a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
index b186f83..f9a24a1 100644
--- a/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
+++ b/DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
@@ -1,16 +1,12 @@
 package com.stylefeng.guns.modular.system.util;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.stylefeng.guns.core.util.ToolUtil;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.MediaType;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Component;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
-import org.springframework.web.client.RestTemplate;
+import org.springframework.util.StringUtils;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 
 /**
@@ -18,37 +14,24 @@
  */
 @Component
 public class RedisUtil {
-
+    
     @Autowired
-    private RestTemplate internalRestTemplate;
-
-
+    private RedisTemplate redisTemplate;
+    
+    
+    
     /**
      * 向redis中存储字符串没有过期时间
      * @param key
      * @param value
      */
     public void setStrValue(String key, String value){
-        if(ToolUtil.isNotEmpty(key)){
-            //发送验证码短信
-            HttpHeaders headers = new HttpHeaders();
-            // 以表单的方式提交
-            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-            //将请求头部和参数合成一个请求
-            MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-            params.add("key", key);
-            params.add("value", value);
-            HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-            String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/setValue_", requestEntity, String.class);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
+        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
+            redisTemplate.opsForValue().set(key, value);
         }
-
     }
-
-
+    
+    
     /**
      * 以分钟为单位设置存储值(设置过期时间)
      * @param key
@@ -56,26 +39,12 @@
      * @param time 秒
      */
     public void setStrValue(String key, String value, int time){
-        if(ToolUtil.isNotEmpty(key)){
-            //发送验证码短信
-            HttpHeaders headers = new HttpHeaders();
-            // 以表单的方式提交
-            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-            //将请求头部和参数合成一个请求
-            MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
-            params.add("key", key);
-            params.add("value", value);
-            params.add("time", String.valueOf(time));
-            HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
-            String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/setValue", requestEntity, String.class);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
+        if(ToolUtil.isNotEmpty(key) && ToolUtil.isNotEmpty(value)){
+            redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
         }
     }
-
-
+    
+    
     /**
      * 从redis中获取值
      * @param key
@@ -83,45 +52,81 @@
      */
     public String getValue(String key){
         if(ToolUtil.isNotEmpty(key)){
-            HttpHeaders headers = new HttpHeaders();
-            // 以表单的方式提交
-            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-            //将请求头部和参数合成一个请求
-            MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-            params.add("key", key);
-            HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-            String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/getValue",requestEntity , String.class);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
-            return jsonObject.getString("data");
+            String data = (String) redisTemplate.opsForValue().get(key);
+            return data;
         }
         return null;
     }
-
-
-
+    
+    
+    
+    
     /**
      * 删除key
      * @param key
      */
-    public String remove(String key){
+    public void remove(String key){
         if(ToolUtil.isNotEmpty(key)){
-            HttpHeaders headers = new HttpHeaders();
-            // 以表单的方式提交
-            headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-            //将请求头部和参数合成一个请求
-            MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
-            params.add("key", key);
-            HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
-            String s = internalRestTemplate.postForObject("http://zuul-gateway/redis/remove",requestEntity , String.class);
-            JSONObject jsonObject = JSON.parseObject(s, JSONObject.class);
-            if(jsonObject.getIntValue("code") != 200){
-                System.err.println("调用redis出错了");
-            }
-            return jsonObject.getString("data");
+            redisTemplate.delete(key);
         }
-        return null;
+    }
+    
+    
+    
+    
+    
+    
+    
+    /**
+     * redis加锁
+     * @param key
+     * @param value
+     * @param time
+     * @return
+     */
+    public boolean lock(String key, String value, int time){
+        if(!StringUtils.isEmpty(key)){
+            key += "_lock";
+            return redisTemplate.opsForValue().setIfAbsent(key, value);
+        }
+        return false;
+    }
+    
+    /**
+     * 获取redis锁
+     * @param time
+     * @return
+     */
+    public boolean lock(int time){
+        String uuid = UUID.randomUUID().toString();
+        return lock("redis", uuid, time);
+    }
+    
+    
+    public boolean lock(String key, int time){
+        String uuid = UUID.randomUUID().toString();
+        return lock(key, uuid, time);
+    }
+    
+    
+    /**
+     * redis释放锁
+     * @param key
+     * @return
+     */
+    public boolean unlock(String key){
+        if(!StringUtils.isEmpty(key)){
+            key += "_lock";
+            return redisTemplate.delete(key);
+        }
+        return false;
+    }
+    
+    /**
+     * 删除锁
+     * @return
+     */
+    public boolean unlock(){
+        return unlock("redis");
     }
 }

--
Gitblit v1.7.1