From 2af534eea471f4adb104906c7a814bcc66d4d68d Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期一, 13 九月 2021 13:03:58 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev

---
 ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java |   53 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 47 insertions(+), 6 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 6c4c239..23a25e0 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
@@ -5,20 +5,57 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.util.*;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
+import java.util.function.Consumer;
 
 /**
  * spring redis 宸ュ叿绫�
  *
  * @author shenxinquan
+ * @see com.ruoyi.common.utils.RedisUtils
+ * @deprecated 3.2.0 鍒犻櫎姝ょ被
  **/
 @SuppressWarnings(value = {"unchecked", "rawtypes"})
 @Component
+@Deprecated
 public class RedisCache {
 
 	@Autowired
 	private RedissonClient redissonClient;
+
+	/**
+	 * 鍙戝竷閫氶亾娑堟伅
+	 *
+	 * @param channelKey 閫氶亾key
+	 * @param msg 鍙戦�佹暟鎹�
+	 * @param consumer 鑷畾涔夊鐞�
+	 */
+	public <T> void publish(String channelKey, T msg, Consumer<T> consumer) {
+		RTopic topic = redissonClient.getTopic(channelKey);
+		topic.publish(msg);
+		consumer.accept(msg);
+	}
+
+	public <T> void publish(String channelKey, T msg) {
+		RTopic topic = redissonClient.getTopic(channelKey);
+		topic.publish(msg);
+	}
+
+	/**
+	 * 璁㈤槄閫氶亾鎺ユ敹娑堟伅
+	 *
+	 * @param channelKey 閫氶亾key
+	 * @param clazz 娑堟伅绫诲瀷
+	 * @param consumer 鑷畾涔夊鐞�
+	 */
+	public <T> void subscribe(String channelKey, Class<T> clazz, Consumer<T> consumer) {
+		RTopic topic = redissonClient.getTopic(channelKey);
+		topic.addListener(clazz, (channel, msg) -> consumer.accept(msg));
+	}
 
 	/**
 	 * 缂撳瓨鍩烘湰鐨勫璞★紝Integer銆丼tring銆佸疄浣撶被绛�
@@ -96,8 +133,12 @@
 	 * @param collection 澶氫釜瀵硅薄
 	 * @return
 	 */
-	public long deleteObject(final Collection collection) {
-		return redissonClient.getKeys().delete(Arrays.toString(collection.toArray()));
+	public void deleteObject(final Collection collection) {
+		RBatch batch = redissonClient.createBatch();
+		collection.forEach(t->{
+			batch.getBucket(t.toString()).deleteAsync();
+		});
+		batch.execute();
 	}
 
 	/**
@@ -201,9 +242,9 @@
 	 * @param hKeys Hash閿泦鍚�
 	 * @return Hash瀵硅薄闆嗗悎
 	 */
-	public <T> List<T> getMultiCacheMapValue(final String key, final Collection<Object> hKeys) {
-		RListMultimap rListMultimap = redissonClient.getListMultimap(key);
-		return rListMultimap.getAll(hKeys);
+	public <K,V> Map<K,V> getMultiCacheMapValue(final String key, final Set<K> hKeys) {
+		RMap<K,V>  rMap = redissonClient.getMap(key);
+		return rMap.getAll(hKeys);
 	}
 
 	/**

--
Gitblit v1.9.3