From 1bca1b9c61676b48cc3137d3003e520c75ecdd92 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期六, 13 一月 2024 10:57:36 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java |   49 ++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 42 insertions(+), 7 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
index 1098fd8..1d21301 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
@@ -1,10 +1,6 @@
 package com.ruoyi.common.core.redis;
 
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -142,6 +138,15 @@
         return redisTemplate.opsForList().range(key, 0, -1);
     }
 
+    public <T> void setCacheList(String key, T data, final Integer timeout, final TimeUnit timeUnit) {
+        // 灏嗘暟鎹彃鍏ist
+        redisTemplate.opsForList().leftPush(key, data);
+        // 璁剧疆杩囨湡鏃堕棿
+        if (timeout > 0) {
+            redisTemplate.expire(key,timeout, timeUnit);
+        }
+    }
+
     /**
      * 缂撳瓨Set
      *
@@ -157,7 +162,23 @@
         }
         return setOperation;
     }
-
+    /**
+     * 缂撳瓨Set
+     *
+     * @param key     缂撳瓨閿��
+     * @param data    缂撳瓨鐨勫��
+     * @param timeout  鏃堕棿
+     * @param timeUnit 鏃堕棿棰楃矑搴�
+     * @return 缂撳瓨鏁版嵁鐨勫璞�
+     */
+    public <T> void setCacheSet(String key, T data, final Integer timeout, final TimeUnit timeUnit) {
+        BoundSetOperations<String, String> setOperations = redisTemplate.boundSetOps(key);
+        setOperations.add(data.toString());
+        // 璁剧疆杩囨湡鏃堕棿
+        if (timeout > 0) {
+            setOperations.expire(timeout, timeUnit);
+        }
+    }
     /**
      * 鑾峰緱缂撳瓨鐨剆et
      *
@@ -249,8 +270,22 @@
      * 鏍规嵁鍓嶇紑鑾峰彇鎵�鏈夌殑key* 渚嬪锛歱ro_
      */
     public List<Object> getListKey(String prefix) {
-        Set<Object> keys = redisTemplate.keys(prefix+"*");
+        Set<Object> keys = redisTemplate.keys(prefix + "*");
         List<Object> values = redisTemplate.opsForValue().multiGet(keys);
         return values;
     }
+
+    /**
+     * 鏍规嵁鍓嶇紑鑾峰彇鎵�鏈夌殑key* 渚嬪锛歱ro_
+     */
+    public HashMap<String, Object> getMapKey(String prefix) {
+        HashMap<String, Object> map = new HashMap<>();
+        Set<String> keys = redisTemplate.keys(prefix + "*");
+        for (String key : keys) {
+            Object value = redisTemplate.opsForValue().get(key);
+            String nKey = key.replace(prefix, "");
+            map.put(nKey, value);
+        }
+        return map;
+    }
 }

--
Gitblit v1.9.3