From 00beb8efa87c62c6a5eeb524bb839b0e8b576449 Mon Sep 17 00:00:00 2001
From: hzj <826100833@qq.com>
Date: Mon, 4 Nov 2024 16:25:43 +0800
Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0redis=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=EF=BC=8C=E5=B0=86id=E7=BC=93=E5=AD=98=E8=BF=81=E7=A7=BB?=
=?UTF-8?q?=E7=94=B1=E7=BC=93=E5=AD=98=E7=A7=BB=E5=8A=A8=E5=88=B0redis?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
influx-data/influx-source/pom.xml | 16 +
.../njcn/influx/config/IdMappingCache.java | 20 +-
.../com/njcn/influx/config/RedisConfig.java | 63 ++++
.../com/njcn/influx/config/RedisUtil.java | 353 ++++++++++++++++++
...OracleMonitorStatusToMysqlServiceImpl.java | 7 +-
.../impl/OracleToInfluxDBServiceImpl.java | 25 +-
.../impl/PqsOnlineratePOServiceImpl.java | 17 +-
.../JobDetailInfluxDBController.java | 16 +-
.../src/main/resources/application.yml | 15 +-
9 files changed, 496 insertions(+), 36 deletions(-)
create mode 100644 influx-data/influx-source/src/main/java/com/njcn/influx/config/RedisConfig.java
create mode 100644 influx-data/influx-source/src/main/java/com/njcn/influx/config/RedisUtil.java
diff --git a/influx-data/influx-source/pom.xml b/influx-data/influx-source/pom.xml
index 9114d8b..ca65b46 100644
--- a/influx-data/influx-source/pom.xml
+++ b/influx-data/influx-source/pom.xml
@@ -98,6 +98,22 @@
oracle-source
1.0.0
+
+ org.springframework.boot
+ spring-boot-starter-data-redis
+
+
+ org.apache.logging
+ logging-parent
+
+
+
+
+
+ org.apache.commons
+ commons-pool2
+
+
org.apache.commons
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/config/IdMappingCache.java b/influx-data/influx-source/src/main/java/com/njcn/influx/config/IdMappingCache.java
index 2870d5b..4aaba2f 100644
--- a/influx-data/influx-source/src/main/java/com/njcn/influx/config/IdMappingCache.java
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/config/IdMappingCache.java
@@ -2,14 +2,11 @@ package com.njcn.influx.config;
import com.njcn.influx.bo.po.PqDeviceBak;
import com.njcn.influx.bo.po.PqLineBak;
-import com.njcn.influx.mapper.PqLineBakMapper;
import com.njcn.influx.service.IPqDeviceBakService;
import com.njcn.influx.service.PqLineBakService;
-import io.swagger.v3.oas.annotations.servers.Server;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
-import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.HashMap;
@@ -30,17 +27,23 @@ public class IdMappingCache {
private PqLineBakService pqLineBakService;
@Autowired
private IPqDeviceBakService pqDeviceBakService;
- public static Map DevIdMapping = new HashMap<>();
- public static Map LineIdMapping = new HashMap<>();
+
+ @Autowired
+ private RedisUtil redisUtil;
+
@PostConstruct
public void init() {
+ Map DevIdMapping = new HashMap<>();
+ Map LineIdMapping = new HashMap<>();
List resultList = pqLineBakService.list();
for (PqLineBak row : resultList) {
String id = row.getId();
String lineId = row.getLineId();
LineIdMapping.put(lineId,id );
}
+ redisUtil.saveByKey("LineIdMapping",LineIdMapping);
+
List list = pqDeviceBakService.list();
for (PqDeviceBak row : list) {
@@ -48,9 +51,8 @@ public class IdMappingCache {
String devId = row.getDevId()+"";
DevIdMapping.put(devId,id );
}
+ redisUtil.saveByKey("DevIdMapping",DevIdMapping);
+
}
-// public String getDataById(String id) {
-// return IdMapping.get(id);
-// }
}
diff --git a/influx-data/influx-source/src/main/java/com/njcn/influx/config/RedisConfig.java b/influx-data/influx-source/src/main/java/com/njcn/influx/config/RedisConfig.java
new file mode 100644
index 0000000..369f40b
--- /dev/null
+++ b/influx-data/influx-source/src/main/java/com/njcn/influx/config/RedisConfig.java
@@ -0,0 +1,63 @@
+package com.njcn.influx.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.njcn.influx.utils.InstantDateDeserializer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+import java.time.Instant;
+
+/**
+ * @author hongawen
+ * @version 1.0.0
+ * @date 2021年12月08日 17:53
+ */
+@Configuration
+public class RedisConfig {
+
+
+ /**
+ * 修改RedisTemplate序列化由JdkSerializationRedisSerializer二进制调整为:JSON格式
+ */
+ @Bean("redisTemplate")
+ public RedisTemplate redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {
+ // 为了开发方便,一般直接使用
+ RedisTemplate redisTemplate = new RedisTemplate<>();
+ redisTemplate.setConnectionFactory(lettuceConnectionFactory);
+ // 用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
+ Jackson2JsonRedisSerializer