feat(): 新增本地缓存工具类
parent
576befa0ee
commit
5d66ce181f
|
@ -52,6 +52,12 @@
|
||||||
<artifactId>iotdb-session</artifactId>
|
<artifactId>iotdb-session</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Caffeine本地缓存 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||||
|
<artifactId>caffeine</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- MuYu Common DataScope -->
|
<!-- MuYu Common DataScope -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.muyu</groupId>
|
<groupId>com.muyu</groupId>
|
||||||
|
|
|
@ -49,7 +49,7 @@ public class IoTDBInsertDataListener implements BasicEventListener<String> {
|
||||||
* @return 键的列表
|
* @return 键的列表
|
||||||
*/
|
*/
|
||||||
private List<String> extractKeys(JSONObject data) {
|
private List<String> extractKeys(JSONObject data) {
|
||||||
return data.keySet().stream().collect(Collectors.toList());
|
return data.keySet().stream().toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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<T> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Caffeine缓存实例,用于存储键值对
|
||||||
|
*/
|
||||||
|
private final Cache<String, T> 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);
|
||||||
|
}
|
||||||
|
}
|
8
pom.xml
8
pom.xml
|
@ -52,6 +52,7 @@
|
||||||
<iotdb.session.verison>1.3.1</iotdb.session.verison>
|
<iotdb.session.verison>1.3.1</iotdb.session.verison>
|
||||||
<mybatis.plus.join.version>1.4.13</mybatis.plus.join.version>
|
<mybatis.plus.join.version>1.4.13</mybatis.plus.join.version>
|
||||||
<org.eclipse.paho.client.mqttv3.version>1.2.5</org.eclipse.paho.client.mqttv3.version>
|
<org.eclipse.paho.client.mqttv3.version>1.2.5</org.eclipse.paho.client.mqttv3.version>
|
||||||
|
<caffeine.version>3.1.8</caffeine.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<!-- 依赖声明 -->
|
<!-- 依赖声明 -->
|
||||||
|
@ -262,6 +263,13 @@
|
||||||
<version>${org.eclipse.paho.client.mqttv3.version}</version>
|
<version>${org.eclipse.paho.client.mqttv3.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- Caffeine本地缓存 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
||||||
|
<artifactId>caffeine</artifactId>
|
||||||
|
<version>${caffeine.version}</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- 核心模块 -->
|
<!-- 核心模块 -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.muyu</groupId>
|
<groupId>com.muyu</groupId>
|
||||||
|
|
Loading…
Reference in New Issue