From d7d0578b00c9ec24893e3a0c8e8ff3301f82bc2a Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期三, 13 十二月 2023 18:48:37 +0800
Subject: [PATCH] zjh 2023/12/13--1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java
index 66ff1df..cdb13b2 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/sqlserver/TjSqlController.java
@@ -2,6 +2,7 @@
 
 import com.ltkj.common.core.controller.BaseController;
 import com.ltkj.common.core.domain.AjaxResult;
+import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.enums.DataSourceType;
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import com.ltkj.hosp.service.*;
@@ -10,11 +11,21 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.ConvertingCursor;
+import org.springframework.data.redis.core.Cursor;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.ScanOptions;
+import org.springframework.data.redis.serializer.RedisSerializer;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
+import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
 import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
 
 
@@ -41,6 +52,36 @@
     private LtkjHybgdService ltkjHybgdService;
     @Resource
     private LtkjHysqdService ltkjHysqdService;
+    @Autowired
+    public RedisTemplate<Object,Object> redisTemplate;
+    @Resource
+    private RedisCache redisCache;
+
+    @GetMapping("/getRedisValue")
+    @ApiOperation(value = "娴嬭瘯redis妯$硦鏌ヨ")
+    public AjaxResult getRedisValue(@RequestParam String aa) {
+        long start = System.currentTimeMillis();
+        //闇�瑕佸尮閰嶇殑key
+        ScanOptions options = ScanOptions.scanOptions()
+                //杩欓噷鎸囧畾姣忔鎵弿key鐨勬暟閲�(寰堝鍗氬鐬庤瑕佹寚瀹欼nteger.MAX_VALUE锛岃繖鏍风殑璇濊窡        keys鏈変粈涔堝尯鍒紵)
+                .count(10000)
+                .match(aa+"*").build();
+        RedisSerializer<String> redisSerializer = (RedisSerializer<String>) redisTemplate.getKeySerializer();
+        Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize));
+        List<Object> result = new ArrayList<>();
+        while(cursor.hasNext()){
+            String s = cursor.next().toString();
+          redisCache.deleteObject(s);
+        }
+        //鍒囪杩欓噷涓�瀹氳鍏抽棴锛屽惁鍒欎細鑰楀敖杩炴帴鏁般�傛姤Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a
+        cursor.close();
+//        System.out.println(result);
+        log.info("scan鎵弿鍏辫�楁椂锛歿} ms key鏁伴噺锛歿}",System.currentTimeMillis()-start,result.size());
+        Map<String,Object>map=new HashMap<>();
+        map.put("result",result);
+        map.put("scan鎵弿鍏辫�楁椂锛歿} ms key鏁伴噺锛歿}",System.currentTimeMillis()-start+result.size());
+        return AjaxResult.success(map);
+    }
 
 
     @GetMapping("/getMiddleDetail")

--
Gitblit v1.8.0