From 5cd3e0e919d427c68d2e21be20f27af9b24622b0 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 16 三月 2023 09:32:21 +0800
Subject: [PATCH] 更新前后端分离部署文档
---
src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java | 444 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 390 insertions(+), 54 deletions(-)
diff --git a/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java b/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java
index a03f9aa..e54ed53 100644
--- a/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java
+++ b/src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java
@@ -1,34 +1,37 @@
package com.genersoft.iot.vmp.utils.redis;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.stereotype.Component;
+import com.alibaba.fastjson2.JSONObject;
+import com.genersoft.iot.vmp.utils.SpringBeanFactory;
+import org.springframework.data.redis.core.*;
import org.springframework.util.CollectionUtils;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
+
/**
- * @Description:Redis宸ュ叿绫�
- * @author: songww
- * @date: 2020骞�5鏈�6鏃� 涓嬪崍8:27:29
+ * Redis宸ュ叿绫�
+ * @author swwheihei
+ * @date 2020骞�5鏈�6鏃� 涓嬪崍8:27:29
*/
-@Component
+@SuppressWarnings(value = {"rawtypes", "unchecked"})
public class RedisUtil {
- @Autowired
- private RedisTemplate redisTemplate;
-
+ private static RedisTemplate redisTemplate;
+
+ static {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+
/**
* 鎸囧畾缂撳瓨澶辨晥鏃堕棿
* @param key 閿�
* @param time 鏃堕棿锛堢锛�
* @return true / false
*/
- public boolean expire(String key, long time) {
+ public static boolean expire(String key, long time) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
if (time > 0) {
redisTemplate.expire(key, time, TimeUnit.SECONDS);
@@ -43,9 +46,11 @@
/**
* 鏍规嵁 key 鑾峰彇杩囨湡鏃堕棿
* @param key 閿�
- * @return
*/
- public long getExpire(String key) {
+ public static long getExpire(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
return redisTemplate.getExpire(key, TimeUnit.SECONDS);
}
@@ -54,7 +59,10 @@
* @param key 閿�
* @return true / false
*/
- public boolean hasKey(String key) {
+ public static boolean hasKey(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.hasKey(key);
} catch (Exception e) {
@@ -68,7 +76,10 @@
* @SuppressWarnings("unchecked") 蹇界暐绫诲瀷杞崲璀﹀憡
* @param key 閿紙涓�涓垨鑰呭涓級
*/
- public boolean del(String... key) {
+ public static boolean del(String... key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
if (key != null && key.length > 0) {
if (key.length == 1) {
@@ -92,7 +103,10 @@
* @param key 閿�
* @return 鍊�
*/
- public Object get(String key) {
+ public static Object get(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
return key == null ? null : redisTemplate.opsForValue().get(key);
}
@@ -102,7 +116,10 @@
* @param value 鍊�
* @return true / false
*/
- public boolean set(String key, Object value) {
+ public static boolean set(String key, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForValue().set(key, value);
return true;
@@ -119,7 +136,10 @@
* @param time 鏃堕棿锛堢锛夛紝濡傛灉 time < 0 鍒欒缃棤闄愭椂闂�
* @return true / false
*/
- public boolean set(String key, Object value, long time) {
+ public static boolean set(String key, Object value, long time) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
if (time > 0) {
redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
@@ -139,7 +159,10 @@
* @param delta 閫掑澶у皬
* @return
*/
- public long incr(String key, long delta) {
+ public static long incr(String key, long delta) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
if (delta < 0) {
throw new RuntimeException("閫掑鍥犲瓙蹇呴』澶т簬 0");
}
@@ -152,7 +175,10 @@
* @param delta 閫掑噺澶у皬
* @return
*/
- public long decr(String key, long delta) {
+ public static long decr(String key, long delta) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
if (delta < 0) {
throw new RuntimeException("閫掑噺鍥犲瓙蹇呴』澶т簬 0");
}
@@ -167,7 +193,10 @@
* @param item 椤癸紙no null锛�
* @return 鍊�
*/
- public Object hget(String key, String item) {
+ public static Object hget(String key, String item) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
return redisTemplate.opsForHash().get(key, item);
}
@@ -176,7 +205,10 @@
* @param key 閿紙no null锛�
* @return 瀵瑰簲鐨勫涓敭鍊�
*/
- public Map<Object, Object> hmget(String key) {
+ public static Map<Object, Object> hmget(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
return redisTemplate.opsForHash().entries(key);
}
@@ -186,7 +218,10 @@
* @param map 鍊�
* @return true / false
*/
- public boolean hmset(String key, Map<Object, Object> map) {
+ public static boolean hmset(String key, Map<Object, Object> map) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForHash().putAll(key, map);
return true;
@@ -203,7 +238,10 @@
* @param time 鏃堕棿
* @return true / false
*/
- public boolean hmset(String key, Map<Object, Object> map, long time) {
+ public static boolean hmset(String key, Map<?, ?> map, long time) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForHash().putAll(key, map);
if (time > 0) {
@@ -223,7 +261,10 @@
* @param value 鍊�
* @return true / false
*/
- public boolean hset(String key, String item, Object value) {
+ public static boolean hset(String key, String item, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForHash().put(key, item, value);
return true;
@@ -241,7 +282,10 @@
* @param time 鏃堕棿锛堝鏋滃師鏉ョ殑 Hash琛� 璁剧疆浜嗘椂闂达紝杩欓噷浼氳鐩栵級
* @return true / false
*/
- public boolean hset(String key, String item, Object value, long time) {
+ public static boolean hset(String key, String item, Object value, long time) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForHash().put(key, item, value);
if (time > 0) {
@@ -259,7 +303,10 @@
* @param key 閿�
* @param item 椤癸紙鍙互澶氫釜锛宯o null锛�
*/
- public void hdel(String key, Object... item) {
+ public static void hdel(String key, Object... item) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
redisTemplate.opsForHash().delete(key, item);
}
@@ -269,7 +316,10 @@
* @param item 鍊硷紙no null锛�
* @return true / false
*/
- public boolean hHasKey(String key, String item) {
+ public static boolean hHasKey(String key, String item) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
return redisTemplate.opsForHash().hasKey(key, item);
}
@@ -280,7 +330,10 @@
* @param by 閫掑澶у皬 > 0
* @return
*/
- public Double hincr(String key, String item, Double by) {
+ public static Double hincr(String key, String item, Double by) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
return redisTemplate.opsForHash().increment(key, item, by);
}
@@ -291,7 +344,10 @@
* @param by 閫掑噺澶у皬
* @return
*/
- public Double hdecr(String key, String item, Double by) {
+ public static Double hdecr(String key, String item, Double by) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
return redisTemplate.opsForHash().increment(key, item, -by);
}
@@ -302,7 +358,10 @@
* @param key 閿�
* @return 鍊�
*/
- public Set<Object> sGet(String key) {
+ public static Set<Object> sGet(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForSet().members(key);
} catch (Exception e) {
@@ -317,7 +376,10 @@
* @param value 鍊�
* @return true / false
*/
- public boolean sHasKey(String key, Object value) {
+ public static boolean sHasKey(String key, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForSet().isMember(key, value);
} catch (Exception e) {
@@ -332,7 +394,10 @@
* @param values 鍊硷紙鍙互澶氫釜锛�
* @return 鎴愬姛涓暟
*/
- public long sSet(String key, Object... values) {
+ public static long sSet(String key, Object... values) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForSet().add(key, values);
} catch (Exception e) {
@@ -348,7 +413,10 @@
* @param values 鍊硷紙鍙互澶氫釜锛�
* @return 鎴愬姛鏀惧叆涓暟
*/
- public long sSet(String key, long time, Object... values) {
+ public static long sSet(String key, long time, Object... values) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
long count = redisTemplate.opsForSet().add(key, values);
if (time > 0) {
@@ -366,7 +434,10 @@
* @param key 閿�
* @return 闀垮害
*/
- public long sGetSetSize(String key) {
+ public static long sGetSetSize(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForSet().size(key);
} catch (Exception e) {
@@ -381,7 +452,10 @@
* @param values 鍊�
* @return 鎴愬姛绉婚櫎涓暟
*/
- public long setRemove(String key, Object... values) {
+ public static long setRemove(String key, Object... values) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForSet().remove(key, values);
} catch (Exception e) {
@@ -389,6 +463,151 @@
return 0;
}
}
+// ============================== ZSet ==============================
+
+ /**
+ * 娣诲姞涓�涓厓绱�, zset涓巗et鏈�澶х殑鍖哄埆灏辨槸姣忎釜鍏冪礌閮芥湁涓�涓猻core锛屽洜姝ゆ湁涓帓搴忕殑杈呭姪鍔熻兘; zadd
+ *
+ * @param key
+ * @param value
+ * @param score
+ */
+ public static void zAdd(Object key, Object value, double score) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ redisTemplate.opsForZSet().add(key, value, score);
+ }
+
+ /**
+ * 鍒犻櫎鍏冪礌 zrem
+ *
+ * @param key
+ * @param value
+ */
+ public static void zRemove(Object key, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ redisTemplate.opsForZSet().remove(key, value);
+ }
+
+ /**
+ * score鐨勫鍔爋r鍑忓皯 zincrby
+ *
+ * @param key
+ * @param value
+ * @param delta -1 琛ㄧず鍑� 1 琛ㄧず鍔�1
+ */
+ public static Double zIncrScore(Object key, Object value, double delta) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().incrementScore(key, value, delta);
+ }
+
+ /**
+ * 鏌ヨvalue瀵瑰簲鐨剆core zscore
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public static Double zScore(Object key, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().score(key, value);
+ }
+
+ /**
+ * 鍒ゆ柇value鍦▃set涓殑鎺掑悕 zrank
+ *
+ * @param key
+ * @param value
+ * @return
+ */
+ public static Long zRank(Object key, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().rank(key, value);
+ }
+
+ /**
+ * 杩斿洖闆嗗悎鐨勯暱搴�
+ *
+ * @param key
+ * @return
+ */
+ public static Long zSize(Object key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().zCard(key);
+ }
+
+ /**
+ * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊硷紝 0 -1 琛ㄧず鑾峰彇鍏ㄩ儴鐨勯泦鍚堝唴瀹� zrange
+ *
+ * 杩斿洖鏈夊簭鐨勯泦鍚堬紝score灏忕殑鍦ㄥ墠闈�
+ *
+ * @param key
+ * @param start
+ * @param end
+ * @return
+ */
+ public static Set<Object> zRange(Object key, int start, int end) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().range(key, start, end);
+ }
+ /**
+ * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊煎拰score锛�0, -1 琛ㄧず鑾峰彇鍏ㄩ儴鐨勯泦鍚堝唴瀹�
+ *
+ * @param key
+ * @param start
+ * @param end
+ * @return
+ */
+ public static Set<ZSetOperations.TypedTuple<String>> zRangeWithScore(Object key, int start, int end) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().rangeWithScores(key, start, end);
+ }
+ /**
+ * 鏌ヨ闆嗗悎涓寚瀹氶『搴忕殑鍊� zrevrange
+ *
+ * 杩斿洖鏈夊簭鐨勯泦鍚堜腑锛宻core澶х殑鍦ㄥ墠闈�
+ *
+ * @param key
+ * @param start
+ * @param end
+ * @return
+ */
+ public static Set<String> zRevRange(Object key, int start, int end) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().reverseRange(key, start, end);
+ }
+ /**
+ * 鏍规嵁score鐨勫�硷紝鏉ヨ幏鍙栨弧瓒虫潯浠剁殑闆嗗悎 zrangebyscore
+ *
+ * @param key
+ * @param min
+ * @param max
+ * @return
+ */
+ public static Set<String> zSortRange(Object key, int min, int max) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForZSet().rangeByScore(key, min, max);
+ }
+
// ============================== List ==============================
@@ -399,7 +618,10 @@
* @param end 缁撴潫锛�0 鍒� -1 浠h〃鎵�鏈夊�硷級
* @return
*/
- public List<Object> lGet(String key, long start, long end) {
+ public static List<Object> lGet(String key, long start, long end) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForList().range(key, start, end);
} catch (Exception e) {
@@ -413,7 +635,10 @@
* @param key 閿�
* @return 闀垮害
*/
- public long lGetListSize(String key) {
+ public static long lGetListSize(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForList().size(key);
} catch (Exception e) {
@@ -430,7 +655,10 @@
* 褰� index < 0 鏃� {-1:琛ㄥ熬, -2:鍊掓暟绗簩涓厓绱爙
* @return 鍊�
*/
- public Object lGetIndex(String key, long index) {
+ public static Object lGetIndex(String key, long index) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForList().index(key, index);
} catch (Exception e) {
@@ -445,7 +673,10 @@
* @param value 鍊�
* @return true / false
*/
- public boolean lSet(String key, Object value) {
+ public static boolean lSet(String key, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForList().rightPush(key, value);
return true;
@@ -462,7 +693,10 @@
* @param time 鏃堕棿
* @return true / false
*/
- public boolean lSet(String key, Object value, long time) {
+ public static boolean lSet(String key, Object value, long time) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForList().rightPush(key, value);
if (time > 0) {
@@ -481,7 +715,10 @@
* @param values 鍊�
* @return true / false
*/
- public boolean lSetList(String key, List<Object> values) {
+ public static boolean lSetList(String key, List<Object> values) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForList().rightPushAll(key, values);
return true;
@@ -498,7 +735,10 @@
* @param time 鏃堕棿
* @return true / false
*/
- public boolean lSetList(String key, List<Object> values, long time) {
+ public static boolean lSetList(String key, List<Object> values, long time) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForList().rightPushAll(key, values);
if (time > 0) {
@@ -518,7 +758,10 @@
* @param value 鍊�
* @return true / false
*/
- public boolean lUpdateIndex(String key, long index, Object value) {
+ public static boolean lUpdateIndex(String key, long index, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
redisTemplate.opsForList().set(key, index, value);
return true;
@@ -537,7 +780,10 @@
* @param value
* @return
*/
- public long lRemove(String key, long count, Object value) {
+ public static long lRemove(String key, long count, Object value) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
return redisTemplate.opsForList().remove(key, count, value);
} catch (Exception e) {
@@ -545,19 +791,109 @@
return 0;
}
}
-
+
+ /**
+ * 鍦ㄩ敭涓� key 鐨� list涓Щ闄ょ涓�涓厓绱�
+ * @param key 閿�
+ * @return
+ */
+ public static Object lLeftPop(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForList().leftPop(key);
+ }
+
+ /**
+ * 鍦ㄩ敭涓� key 鐨� list涓Щ闄ゃ�佹渶鍚庝竴涓厓绱�
+ * @param key 閿�
+ * @return
+ */
+ public static Object lrightPop(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ return redisTemplate.opsForList().rightPop(key);
+ }
+
/**
* 妯$硦鏌ヨ
* @param key 閿�
* @return true / false
*/
- public List<Object> keys(String key) {
+ public static List<Object> keys(String key) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
try {
- Set<String> set = redisTemplate.keys(key);
+ Set<String> set = redisTemplate.keys(key);
return new ArrayList<>(set);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
+
+
+ /**
+ * 妯$硦鏌ヨ
+ * @param query 鏌ヨ鍙傛暟
+ * @return
+ */
+// public static List<Object> scan(String query) {
+// List<Object> result = new ArrayList<>();
+// try {
+// Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("field",
+// ScanOptions.scanOptions().match(query).count(1000).build());
+// while (cursor.hasNext()) {
+// Map.Entry<Object,Object> entry = cursor.next();
+// result.add(entry.getKey());
+// Object key = entry.getKey();
+// Object valueSet = entry.getValue();
+// }
+// //鍏抽棴cursor
+// cursor.close();
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// return result;
+// }
+
+ /**
+ * 妯$硦鏌ヨ
+ * @param query 鏌ヨ鍙傛暟
+ * @return
+ */
+ public static List<Object> scan(String query) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ Set<String> resultKeys = (Set<String>) redisTemplate.execute((RedisCallback<Set<String>>) connection -> {
+ ScanOptions scanOptions = ScanOptions.scanOptions().match("*" + query + "*").count(1000).build();
+ Cursor<byte[]> scan = connection.scan(scanOptions);
+ Set<String> keys = new HashSet<>();
+ while (scan.hasNext()) {
+ byte[] next = scan.next();
+ keys.add(new String(next));
+ }
+ return keys;
+ });
+
+ return new ArrayList<>(resultKeys);
+ }
+ public static List<Object> scan2(String query) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ Set<String> keys = redisTemplate.keys(query);
+ return new ArrayList<>(keys);
+ }
+ // ============================== 娑堟伅鍙戦�佷笌璁㈤槄 ==============================
+ public static void convertAndSend(String channel, JSONObject msg) {
+ if (redisTemplate == null) {
+ redisTemplate = SpringBeanFactory.getBean("redisTemplate");
+ }
+ redisTemplate.convertAndSend(channel, msg);
+ }
+
}
--
Gitblit v1.8.0