root 2 years ago
parent
commit
413cf2b603

+ 7 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/common/configuration/init/CustomApplicationRunner.java

@@ -1,5 +1,6 @@
 package com.css.simulation.resource.scheduler.common.configuration.init;
 
+import com.css.simulation.resource.scheduler.common.configuration.redis.CustomRedisClient;
 import com.css.simulation.resource.scheduler.common.util.ProjectUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.ApplicationArguments;
@@ -14,9 +15,15 @@ public class CustomApplicationRunner implements ApplicationRunner {
     @Resource
     private ProjectUtil projectUtil;
 
+    @Resource
+    private CustomRedisClient customRedisClient;
+
 
     @Override
     public void run(ApplicationArguments args) {
+        log.info("清空当前 Redis 库。");
+        customRedisClient.flushdb();
+        log.info("重置节点并行度。");
         projectUtil.resetNodeParallelism();
     }
 }

+ 44 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/common/configuration/redis/CustomRedisClient.java

@@ -0,0 +1,44 @@
+package com.css.simulation.resource.scheduler.common.configuration.redis;
+
+import api.common.util.CollectionUtil;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.Set;
+
+@Component
+public class CustomRedisClient {
+
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
+
+    public void deleteByKey(String key) {
+        stringRedisTemplate.delete(key);
+    }
+
+    public void deleteByKeyCollection(Collection<String> keyCollection) {
+        stringRedisTemplate.delete(keyCollection);
+    }
+
+    public void deleteByPrefix(String prefix) {
+        Set<String> keySetByPrefix = getKeySetByPrefix(prefix);
+        deleteByKeyCollection(keySetByPrefix);
+    }
+
+    public String getStringByKey(String key) {
+        return stringRedisTemplate.opsForValue().get(key);
+    }
+
+    public Set<String> getKeySetByPrefix(String prefix) {
+        return stringRedisTemplate.keys(prefix + "*");
+    }
+
+    public void flushdb() {
+        Set<String> keys = stringRedisTemplate.keys("*");
+        if (CollectionUtil.isNotEmpty(keys)) {
+            stringRedisTemplate.delete(keys);
+        }
+    }
+}

+ 0 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/common/util/ProjectUtil.java

@@ -511,7 +511,6 @@ public class ProjectUtil {
             for (KubernetesNodeTO kubernetesNodeTO : initialNodeList) {
                 stringRedisTemplate.opsForValue().set("node:" + kubernetesNodeTO.getName() + ":parallelism", kubernetesNodeTO.getMaxParallelism() + "");
             }
-            log.info("重置节点并行度为:" + initialNodeList);
         }
     }
 }

+ 8 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/common/util/RedisUtil.java

@@ -1,5 +1,6 @@
 package com.css.simulation.resource.scheduler.common.util;
 
+import api.common.util.CollectionUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.redis.core.StringRedisTemplate;
 
@@ -31,4 +32,11 @@ public class RedisUtil {
         return stringRedisTemplate.keys(prefix + "*");
     }
 
+    public static void flushdb(StringRedisTemplate stringRedisTemplate) {
+        Set<String> keys = stringRedisTemplate.keys("*");
+        if (CollectionUtil.isNotEmpty(keys)) {
+            stringRedisTemplate.delete(keys);
+        }
+    }
+
 }