invite消息缓存字符间隔改为使用:代替_,避免scan查询失败
This commit is contained in:
parent
d099daeb31
commit
97800b2610
@ -77,10 +77,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
||||
|
||||
}
|
||||
String key = VideoManagerConstants.INVITE_PREFIX +
|
||||
"_" + inviteInfoForUpdate.getType() +
|
||||
"_" + inviteInfoForUpdate.getDeviceId() +
|
||||
"_" + inviteInfoForUpdate.getChannelId() +
|
||||
"_" + inviteInfoForUpdate.getStream();
|
||||
":" + inviteInfoForUpdate.getType() +
|
||||
":" + inviteInfoForUpdate.getDeviceId() +
|
||||
":" + inviteInfoForUpdate.getChannelId() +
|
||||
":" + inviteInfoForUpdate.getStream();
|
||||
redisTemplate.opsForValue().set(key, inviteInfoForUpdate);
|
||||
}
|
||||
|
||||
@ -93,10 +93,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
||||
}
|
||||
removeInviteInfo(inviteInfoInDb);
|
||||
String key = VideoManagerConstants.INVITE_PREFIX +
|
||||
"_" + inviteInfo.getType() +
|
||||
"_" + inviteInfo.getDeviceId() +
|
||||
"_" + inviteInfo.getChannelId() +
|
||||
"_" + stream;
|
||||
":" + inviteInfo.getType() +
|
||||
":" + inviteInfo.getDeviceId() +
|
||||
":" + inviteInfo.getChannelId() +
|
||||
":" + stream;
|
||||
inviteInfoInDb.setStream(stream);
|
||||
if (inviteInfoInDb.getSsrcInfo() != null) {
|
||||
inviteInfoInDb.getSsrcInfo().setStream(stream);
|
||||
@ -108,10 +108,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
||||
@Override
|
||||
public InviteInfo getInviteInfo(InviteSessionType type, String deviceId, String channelId, String stream) {
|
||||
String key = VideoManagerConstants.INVITE_PREFIX +
|
||||
"_" + (type != null ? type : "*") +
|
||||
"_" + (deviceId != null ? deviceId : "*") +
|
||||
"_" + (channelId != null ? channelId : "*") +
|
||||
"_" + (stream != null ? stream : "*");
|
||||
":" + (type != null ? type : "*") +
|
||||
":" + (deviceId != null ? deviceId : "*") +
|
||||
":" + (channelId != null ? channelId : "*") +
|
||||
":" + (stream != null ? stream : "*");
|
||||
List<Object> scanResult = RedisUtil.scan(redisTemplate, key);
|
||||
if (scanResult.size() != 1) {
|
||||
return null;
|
||||
@ -133,10 +133,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
||||
@Override
|
||||
public void removeInviteInfo(InviteSessionType type, String deviceId, String channelId, String stream) {
|
||||
String scanKey = VideoManagerConstants.INVITE_PREFIX +
|
||||
"_" + (type != null ? type : "*") +
|
||||
"_" + (deviceId != null ? deviceId : "*") +
|
||||
"_" + (channelId != null ? channelId : "*") +
|
||||
"_" + (stream != null ? stream : "*");
|
||||
":" + (type != null ? type : "*") +
|
||||
":" + (deviceId != null ? deviceId : "*") +
|
||||
":" + (channelId != null ? channelId : "*") +
|
||||
":" + (stream != null ? stream : "*");
|
||||
List<Object> scanResult = RedisUtil.scan(redisTemplate, scanKey);
|
||||
if (scanResult.size() > 0) {
|
||||
for (Object keyObj : scanResult) {
|
||||
@ -174,10 +174,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
||||
}
|
||||
|
||||
private String buildKey(InviteSessionType type, String deviceId, String channelId, String stream) {
|
||||
String key = type + "_" + deviceId + "_" + channelId;
|
||||
String key = type + ":" + deviceId + ":" + channelId;
|
||||
// 如果ssrc未null那么可以实现一个通道只能一次操作,ssrc不为null则可以支持一个通道多次invite
|
||||
if (stream != null) {
|
||||
key += ("_" + stream);
|
||||
key += (":" + stream);
|
||||
}
|
||||
return key;
|
||||
}
|
||||
@ -191,7 +191,7 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
||||
@Override
|
||||
public int getStreamInfoCount(String mediaServerId) {
|
||||
int count = 0;
|
||||
String key = VideoManagerConstants.INVITE_PREFIX + "_*_*_*_*";
|
||||
String key = VideoManagerConstants.INVITE_PREFIX + ":*:*:*:*";
|
||||
List<Object> scanResult = RedisUtil.scan(redisTemplate, key);
|
||||
if (scanResult.size() == 0) {
|
||||
return 0;
|
||||
@ -222,10 +222,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService {
|
||||
|
||||
|
||||
private String buildSubStreamKey(InviteSessionType type, String deviceId, String channelId, String stream) {
|
||||
String key = type + "_" + "_" + deviceId + "_" + channelId;
|
||||
String key = type + ":" + ":" + deviceId + ":" + channelId;
|
||||
// 如果ssrc为null那么可以实现一个通道只能一次操作,ssrc不为null则可以支持一个通道多次invite
|
||||
if (stream != null) {
|
||||
key += ("_" + stream);
|
||||
key += (":" + stream);
|
||||
}
|
||||
return key;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user