diff --git a/cloud-modules/cloud-modules-event-process/pom.xml b/cloud-modules/cloud-modules-event-process/pom.xml index 1bc5a22..14b3a3c 100644 --- a/cloud-modules/cloud-modules-event-process/pom.xml +++ b/cloud-modules/cloud-modules-event-process/pom.xml @@ -52,6 +52,12 @@ iotdb-session + + + com.github.ben-manes.caffeine + caffeine + + com.muyu diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IoTDBInsertDataListener.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IoTDBInsertDataListener.java index 14d5e47..3e9a2a7 100644 --- a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IoTDBInsertDataListener.java +++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/listener/IoTDBInsertDataListener.java @@ -49,7 +49,7 @@ public class IoTDBInsertDataListener implements BasicEventListener { * @return 键的列表 */ private List extractKeys(JSONObject data) { - return data.keySet().stream().collect(Collectors.toList()); + return data.keySet().stream().toList(); } /** diff --git a/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/util/CacheUtil.java b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/util/CacheUtil.java new file mode 100644 index 0000000..6ed30ae --- /dev/null +++ b/cloud-modules/cloud-modules-event-process/src/main/java/com/muyu/event/process/util/CacheUtil.java @@ -0,0 +1,57 @@ +package com.muyu.event.process.util; + +import com.github.benmanes.caffeine.cache.Cache; +import com.github.benmanes.caffeine.cache.Caffeine; +import org.springframework.stereotype.Component; + +/** + * @Author: zi run + * @Date 2024/10/4 14:25 + * @Description 缓存工具 + */ +@Component +public class CacheUtil { + + /** + * Caffeine缓存实例,用于存储键值对 + */ + private final Cache cache; + + /** + * 构造方法,初始化Caffeine缓存 + */ + public CacheUtil() { + this.cache = Caffeine.newBuilder() + .maximumSize(500L) + .build(); + } + + /** + * 根据给定的键获取缓存中的值 + * + * @param key 要查询的缓存键 + * @return 与键对应的值,如果不存在则返回null + */ + public T get(String key) { + return (T) cache.getIfPresent(key); + } + + /** + * 将指定的键值对放入缓存中 + * + * @param key 要存放的缓存键 + * @param value 要存放的缓存值 + */ + public void put(String key, T value) { + cache.put(key, value); + } + + /** + * 根据给定的键移除缓存中的值 + * + * @param key 要移除的缓存键 + */ + public void remove(String key) { + cache.invalidate(key); + } +} diff --git a/pom.xml b/pom.xml index 4989cc4..f4f01ba 100644 --- a/pom.xml +++ b/pom.xml @@ -52,6 +52,7 @@ 1.3.1 1.4.13 1.2.5 + 3.1.8 @@ -262,6 +263,13 @@ ${org.eclipse.paho.client.mqttv3.version} + + + com.github.ben-manes.caffeine + caffeine + ${caffeine.version} + + com.muyu