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