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