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