From fb8a5d483bcaad8d0c4a9ac5842291eef694eb05 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期三, 11 一月 2023 11:33:01 +0800
Subject: [PATCH] 修复redis查询

---
 src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java |    2 +-
 src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java       |   18 +++++++++---------
 src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java                     |   17 ++---------------
 3 files changed, 12 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
index 9d2890e..d9b9cc5 100644
--- a/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
+++ b/src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java
@@ -70,7 +70,7 @@
 			stream ="*";
 		}
 		String key = VideoManagerConstants.MEDIA_TRANSACTION_USED_PREFIX + userSetting.getServerId() + "_" + deviceId + "_" + channelId + "_" + callId+ "_" + stream;
-		List<Object> scanResult = RedisUtil.scan(key, 1);
+		List<Object> scanResult = RedisUtil.scan(key);
 		if (scanResult.size() == 0) {
 			return null;
 		}
diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
index 393fbf1..8cf5293 100644
--- a/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java
@@ -75,7 +75,7 @@
     @Override
     public void resetAllSN() {
         String scanKey = VideoManagerConstants.SIP_SN_PREFIX  + userSetting.getServerId() + "_*";
-        List<Object> keys = RedisUtil.scan(scanKey, null);
+        List<Object> keys = RedisUtil.scan(scanKey);
         for (Object o : keys) {
             String key = (String) o;
             RedisUtil.set(key, 1);
@@ -129,7 +129,7 @@
     }
     @Override
     public StreamInfo queryPlayByStreamId(String streamId) {
-        List<Object> playLeys = RedisUtil.scan(String.format("%S_%s_*_%s_*", VideoManagerConstants.PLAYER_PREFIX, userSetting.getServerId(), streamId), 1);
+        List<Object> playLeys = RedisUtil.scan(String.format("%S_%s_*_%s_*", VideoManagerConstants.PLAYER_PREFIX, userSetting.getServerId(), streamId));
         if (playLeys == null || playLeys.size() == 0) {
             return null;
         }
@@ -141,7 +141,7 @@
         List<Object> playLeys = RedisUtil.scan(String.format("%S_%s_*_*_%s_%s", VideoManagerConstants.PLAYER_PREFIX,
                 userSetting.getServerId(),
                 deviceId,
-                channelId), 1);
+                channelId));
         if (playLeys == null || playLeys.size() == 0) {
             return null;
         }
@@ -278,7 +278,7 @@
                 stream,
                 callId
         );
-        List<Object> streamInfoScan = RedisUtil.scan(key, 1);
+        List<Object> streamInfoScan = RedisUtil.scan(key);
         if (streamInfoScan.size() > 0) {
             return (StreamInfo) RedisUtil.get((String) streamInfoScan.get(0));
         }else {
@@ -310,7 +310,7 @@
                 stream,
                 callId
         );
-        List<Object> streamInfoScan = RedisUtil.scan(key, 1);
+        List<Object> streamInfoScan = RedisUtil.scan(key);
         return (String) streamInfoScan.get(0);
     }
 
@@ -399,7 +399,7 @@
                 + channelId + "_"
                 + streamId + "_"
                 + callId;
-        List<Object> scan = RedisUtil.scan(key, 1);
+        List<Object> scan = RedisUtil.scan(key);
         if (scan.size() > 0) {
             return (SendRtpItem)RedisUtil.get((String)scan.get(0));
         }else {
@@ -521,7 +521,7 @@
         String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX
                 + userSetting.getServerId() + "_*_*_"
                 + channelId + "*_" + "*_";
-        List<Object> RtpStreams = RedisUtil.scan(key, 1);
+        List<Object> RtpStreams = RedisUtil.scan(key);
         if (RtpStreams.size() > 0) {
             return true;
         } else {
@@ -613,7 +613,7 @@
                 stream,
                 callId
         );
-        List<Object> streamInfoScan = RedisUtil.scan(key, 1);
+        List<Object> streamInfoScan = RedisUtil.scan(key);
         if (streamInfoScan.size() > 0) {
             return (StreamInfo) RedisUtil.get((String) streamInfoScan.get(0));
         }else {
@@ -732,7 +732,7 @@
         String scanKey = VideoManagerConstants.WVP_SERVER_STREAM_PREFIX  + userSetting.getServerId() + "_*_" + app + "_" + streamId + "_" + mediaServerId;
 
         OnStreamChangedHookParam result = null;
-        List<Object> keys = RedisUtil.scan(scanKey, 1);
+        List<Object> keys = RedisUtil.scan(scanKey);
         if (keys.size() > 0) {
             String key = (String) keys.get(0);
             result = (OnStreamChangedHookParam)RedisUtil.get(key);
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 c5be52c..50152cd 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
@@ -864,16 +864,12 @@
      * @param query 鏌ヨ鍙傛暟
      * @return
      */
-    public static List<Object> scan(String query, Integer count) {
+    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.ScanOptionsBuilder match = ScanOptions.scanOptions().match("*" + query + "*");
-            if (count != null) {
-                match.count(count);
-            }
-            ScanOptions scanOptions = match.build();
+            ScanOptions scanOptions = ScanOptions.scanOptions().match("*" + query + "*").count(1000).build();
             Cursor<byte[]> scan = connection.scan(scanOptions);
             Set<String> keys = new HashSet<>();
             while (scan.hasNext()) {
@@ -884,15 +880,6 @@
         });
 
         return new ArrayList<>(resultKeys);
-    }
-
-    /**
-     * 妯$硦鏌ヨ
-     * @param query 鏌ヨ鍙傛暟
-     * @return
-     */
-    public static List<Object> scan(String query) {
-        return scan(query, null);
     }
 
     //    ============================== 娑堟伅鍙戦�佷笌璁㈤槄 ==============================

--
Gitblit v1.8.0