优化多wvp国标级联推流时缓存的清理
This commit is contained in:
@@ -40,6 +40,8 @@ public interface IRedisCatchStorage {
|
||||
|
||||
void updateSendRTPSever(SendRtpItem sendRtpItem);
|
||||
|
||||
List<SendRtpItem> querySendRTPServer(String platformGbId, String channelId, String streamId);
|
||||
|
||||
/**
|
||||
* 查询RTP推送信息缓存
|
||||
* @param platformGbId
|
||||
@@ -192,6 +194,8 @@ public interface IRedisCatchStorage {
|
||||
|
||||
void addDiskInfo(List<Map<String, Object>> diskInfo);
|
||||
|
||||
void deleteSendRTPServer(SendRtpItem sendRtpItem);
|
||||
|
||||
List<SendRtpItem> queryAllSendRTPServer();
|
||||
|
||||
List<Device> getAllDevices();
|
||||
|
||||
@@ -152,6 +152,25 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
|
||||
redisTemplate.opsForValue().set(key, sendRtpItem);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SendRtpItem> querySendRTPServer(String platformGbId, String channelId, String streamId) {
|
||||
String scanKey = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX
|
||||
+ userSetting.getServerId() + "_*_"
|
||||
+ platformGbId + "_"
|
||||
+ channelId + "_"
|
||||
+ streamId + "_"
|
||||
+ "*";
|
||||
List<SendRtpItem> result = new ArrayList<>();
|
||||
List<Object> scan = RedisUtil.scan(redisTemplate, scanKey);
|
||||
if (!scan.isEmpty()) {
|
||||
for (Object o : scan) {
|
||||
String key = (String) o;
|
||||
result.add(JsonUtil.redisJsonToObject(redisTemplate, key, SendRtpItem.class));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SendRtpItem querySendRTPServer(String platformGbId, String channelId, String streamId, String callId) {
|
||||
if (platformGbId == null) {
|
||||
@@ -268,6 +287,14 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除RTP推送信息缓存
|
||||
*/
|
||||
@Override
|
||||
public void deleteSendRTPServer(SendRtpItem sendRtpItem) {
|
||||
deleteSendRTPServer(sendRtpItem.getPlatformId(), sendRtpItem.getChannelId(),sendRtpItem.getCallId(), sendRtpItem.getServerId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SendRtpItem> queryAllSendRTPServer() {
|
||||
String key = VideoManagerConstants.PLATFORM_SEND_RTP_INFO_PREFIX
|
||||
|
||||
Reference in New Issue
Block a user