From 50bbb01902b747a6d81fdaab8bc445b69a22d2df Mon Sep 17 00:00:00 2001 From: luyie Date: Thu, 24 Sep 2026 16:44:45 +0800 Subject: [PATCH] =?UTF-8?q?add:=E6=96=B0=E5=A2=9E=E6=8C=89=E7=A7=9F?= =?UTF-8?q?=E6=88=B7=E6=B8=85=E7=A9=BAblade=E7=94=A8=E6=88=B7=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E6=8E=A5=E5=8F=A3/test/cleanUserCache?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/controller/TestController.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/main/controller/TestController.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/main/controller/TestController.java index ebb790d..09190df 100644 --- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/main/controller/TestController.java +++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/main/controller/TestController.java @@ -8,12 +8,19 @@ import lombok.RequiredArgsConstructor; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.Cursor; +import org.springframework.data.redis.core.RedisCallback; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ScanOptions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * @author ypj @@ -68,4 +75,19 @@ public class TestController { sideHustleService.loadDutyInfo(null); return R.success("运行成功"); } + + @GetMapping("/cleanUserCache") + @ApiOperation(value = "清空指定租户的用户缓存(blade UserCache,{tenantId}:user*)") + R cleanUserCache(@RequestParam String tenantId) { + List keys = new ArrayList<>(); + redisTemplate.execute((RedisCallback) connection -> { + Cursor cursor = connection.scan(ScanOptions.scanOptions().match(tenantId + ":user*").count(100).build()); + while (cursor.hasNext()) { + keys.add(new String(cursor.next(), StandardCharsets.UTF_8)); + } + return null; + }); + keys.forEach(redisTemplate::delete); + return R.success("清空完成,共删除" + keys.size() + "个key"); + } }