Compare commits

..

No commits in common. "2bdced8b9cf552852fa7a881ef3b98273b989fe9" and "a33e7949a41c4fd925173c97f2f91663b40a93ad" have entirely different histories.

3 changed files with 7 additions and 19 deletions

View File

@ -80,8 +80,8 @@ public class KeepaliveNotifyMessageHandler extends SIPRequestProcessorParent imp
device.setLocalIp(request.getLocalAddress().getHostAddress());
}
device.setKeepaliveTimeStamp(System.currentTimeMillis());
taskQueue.add(device);
if (device.isOnLine()) {
taskQueue.add(device);
long expiresTime = Math.min(device.getExpires(), device.getHeartBeatInterval() * device.getHeartBeatCount()) * 1000L;
deviceStatusManager.add(device.getDeviceId(), expiresTime + System.currentTimeMillis());
} else {

View File

@ -561,14 +561,9 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
public Boolean execute(@NonNull RedisOperations operations) {
// 1. 批量添加心跳数据到列表尾部
for (Device device : deviceList) {
Duration duration = Duration.ofHours(1);
String key = VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId();
operations.opsForList().rightPush(key, device.getKeepaliveTimeStamp());
operations.opsForList().rightPush(VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId(), device.getKeepaliveTimeStamp());
// 2. 截取列表只保留最新 100
operations.opsForList().trim(key, -100, -1);
// 为整个列表 Key 设置过期时间核心覆盖式设置每次更新心跳都重置过期时间
operations.expire(key, duration);
operations.opsForList().trim((VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId()), -1000, -1);
}
return true;
}
@ -585,7 +580,7 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
if (count == null) {
count = 20;
}
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + deviceId, -count - 1, -1);
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + deviceId, 0, count + 1);
}
@ -602,15 +597,9 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
public Boolean execute(@NonNull RedisOperations operations) {
// 1. 批量添加心跳数据到列表尾部
for (Device device : deviceList) {
Duration duration = Duration.ofHours(3);
String key = VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId();
operations.opsForList().rightPush(key, device.getRegisterTimeStamp());
operations.opsForList().rightPush(VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId(), device.getRegisterTimeStamp());
// 2. 截取列表只保留最新 100
operations.opsForList().trim(key, -100, -1);
// 为整个列表 Key 设置过期时间核心覆盖式设置每次更新心跳都重置过期时间
operations.expire(key, duration);
operations.opsForList().trim((VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId()), -1000, -1);
}
return true;
}
@ -626,6 +615,6 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
if (count == null) {
count = 20;
}
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_REGISTER_PREFIX + deviceId, -count - 1, -1);
return longRedisTemplate.opsForList().range(VideoManagerConstants.DEVICE_REGISTER_PREFIX + deviceId, 0, count + 1);
}
}

View File

@ -30,7 +30,6 @@
v-if="viewMode === 'table'"
:data="list"
border
stripe
size="mini"
height="400px"
style="width: 100%;"