启动时清理无效的设备缓存数据,避免设备无法注册
This commit is contained in:
@@ -258,4 +258,7 @@ public interface IRedisCatchStorage {
|
||||
|
||||
List<SendRtpItem> queryAllSendRTPServer();
|
||||
|
||||
List<Device> getAllDevices();
|
||||
|
||||
void removeAllDevice();
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user