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.setLocalIp(request.getLocalAddress().getHostAddress());
} }
device.setKeepaliveTimeStamp(System.currentTimeMillis()); device.setKeepaliveTimeStamp(System.currentTimeMillis());
taskQueue.add(device);
if (device.isOnLine()) { if (device.isOnLine()) {
taskQueue.add(device);
long expiresTime = Math.min(device.getExpires(), device.getHeartBeatInterval() * device.getHeartBeatCount()) * 1000L; long expiresTime = Math.min(device.getExpires(), device.getHeartBeatInterval() * device.getHeartBeatCount()) * 1000L;
deviceStatusManager.add(device.getDeviceId(), expiresTime + System.currentTimeMillis()); deviceStatusManager.add(device.getDeviceId(), expiresTime + System.currentTimeMillis());
} else { } else {

View File

@ -561,14 +561,9 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
public Boolean execute(@NonNull RedisOperations operations) { public Boolean execute(@NonNull RedisOperations operations) {
// 1. 批量添加心跳数据到列表尾部 // 1. 批量添加心跳数据到列表尾部
for (Device device : deviceList) { for (Device device : deviceList) {
Duration duration = Duration.ofHours(1); operations.opsForList().rightPush(VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId(), device.getKeepaliveTimeStamp());
String key = VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId();
operations.opsForList().rightPush(key, device.getKeepaliveTimeStamp());
// 2. 截取列表只保留最新 100 // 2. 截取列表只保留最新 100
operations.opsForList().trim(key, -100, -1); operations.opsForList().trim((VideoManagerConstants.DEVICE_KEEPALIVE_PREFIX + device.getDeviceId()), -1000, -1);
// 为整个列表 Key 设置过期时间核心覆盖式设置每次更新心跳都重置过期时间
operations.expire(key, duration);
} }
return true; return true;
} }
@ -585,7 +580,7 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
if (count == null) { if (count == null) {
count = 20; 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) { public Boolean execute(@NonNull RedisOperations operations) {
// 1. 批量添加心跳数据到列表尾部 // 1. 批量添加心跳数据到列表尾部
for (Device device : deviceList) { for (Device device : deviceList) {
Duration duration = Duration.ofHours(3); operations.opsForList().rightPush(VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId(), device.getRegisterTimeStamp());
String key = VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId();
operations.opsForList().rightPush(key, device.getRegisterTimeStamp());
// 2. 截取列表只保留最新 100 // 2. 截取列表只保留最新 100
operations.opsForList().trim(key, -100, -1); operations.opsForList().trim((VideoManagerConstants.DEVICE_REGISTER_PREFIX + device.getDeviceId()), -1000, -1);
// 为整个列表 Key 设置过期时间核心覆盖式设置每次更新心跳都重置过期时间
operations.expire(key, duration);
} }
return true; return true;
} }
@ -626,6 +615,6 @@ public class RedisCatchStorageImpl implements IRedisCatchStorage {
if (count == null) { if (count == null) {
count = 20; 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'" v-if="viewMode === 'table'"
:data="list" :data="list"
border border
stripe
size="mini" size="mini"
height="400px" height="400px"
style="width: 100%;" style="width: 100%;"