启动时清理无效的设备缓存数据,避免设备无法注册

This commit is contained in:
648540858
2023-02-14 15:12:53 +08:00
parent 81da03d981
commit bdc0f83e29
6 changed files with 59 additions and 0 deletions

View File

@@ -258,4 +258,7 @@ public interface IRedisCatchStorage {
List<SendRtpItem> queryAllSendRTPServer();
List<Device> getAllDevices();
void removeAllDevice();
}

View File

@@ -280,4 +280,6 @@ public interface DeviceMapper {
@Select("select count(1) as total, sum(online) as online from device")
ResourceBaceInfo getOverview();
@Select("select * from device")
List<Device> getAll();
}

View File

@@ -664,6 +664,31 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
RedisUtil.del(key);
}
@Override
public void removeAllDevice() {
String scanKey = VideoManagerConstants.DEVICE_PREFIX + userSetting.getServerId() + "_*";
List<Object> keys = RedisUtil.scan(scanKey);
for (Object key : keys) {
RedisUtil.del((String) key);
}
}
@Override
public List<Device> getAllDevices() {
String scanKey = VideoManagerConstants.DEVICE_PREFIX + userSetting.getServerId() + "_*";
List<Device> result = new ArrayList<>();
List<Object> keys = RedisUtil.scan(scanKey);
for (Object o : keys) {
String key = (String) o;
Device device = JsonUtil.redisJsonToObject(key, Device.class);
if (Objects.nonNull(device)) { // 只取没有存过得
result.add(JsonUtil.redisJsonToObject(key, Device.class));
}
}
return result;
}
@Override
public Device getDevice(String deviceId) {
String key = VideoManagerConstants.DEVICE_PREFIX + userSetting.getServerId() + "_" + deviceId;