浏览代码

删除设备增加清除设备属性缓存

xiwa 2 年之前
父节点
当前提交
732fe5b6ef

+ 9 - 0
iot-data/iot-data-cache/src/main/java/cc/iotkit/data/service/DeviceInfoDataCache.java

@@ -91,6 +91,13 @@ public class DeviceInfoDataCache implements IDeviceInfoData, SmartInitializingSi
         redisTemplate.opsForValue().set(getPropertyCacheKey(deviceId), JsonUtil.toJsonString(old));
     }
 
+    /**
+     * 清除设备属性缓存
+     */
+    private void clearProperties(String deviceId) {
+        redisTemplate.delete(getPropertyCacheKey(deviceId));
+    }
+
     @Override
     public Map<String, Object> getProperties(String deviceId) {
         String json = redisTemplate.opsForValue().get(getPropertyCacheKey(deviceId));
@@ -217,6 +224,8 @@ public class DeviceInfoDataCache implements IDeviceInfoData, SmartInitializingSi
         //清除缓存
         deviceInfoCacheEvict.findByDeviceId(device.getDeviceId());
         deviceInfoCacheEvict.findByProductKeyAndDeviceName(device.getProductKey(), device.getDeviceName());
+        //清除属性缓存
+        clearProperties(device.getDeviceId());
         //更新子设备列表缓存
         putSubDeviceIds(device.getParentId());
     }