648540858
2023-01-11 fb8a5d483bcaad8d0c4a9ac5842291eef694eb05
修复redis查询
3个文件已修改
37 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/gb28181/session/VideoStreamSessionManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/impl/RedisCatchStorageImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/utils/redis/RedisUtil.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
        }
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);
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);
    }
    //    ============================== 消息发送与订阅 ==============================