From 3f9919fbeea0e3424ad9d6037c292ac1ad170339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 27 Jun 2025 10:19:10 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20Redis=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E7=9B=91=E6=8E=A7=E6=8E=A5=E5=8F=A3=20=E6=89=8B?= =?UTF-8?q?=E5=8A=A8=E5=BD=92=E8=BF=98=E8=BF=9E=E6=8E=A5=E7=BB=99=E8=BF=9E?= =?UTF-8?q?=E6=8E=A5=E6=B1=A0=20=E6=8F=90=E9=AB=98=E6=95=88=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/monitor/CacheController.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/CacheController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/CacheController.java index 1e9c6558b..5767c8df0 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/CacheController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/monitor/CacheController.java @@ -6,6 +6,7 @@ import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.StringUtils; import org.redisson.spring.data.connection.RedissonConnectionFactory; import org.springframework.data.redis.connection.RedisConnection; +import org.springframework.data.redis.core.RedisConnectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -31,9 +32,9 @@ public class CacheController { @GetMapping() public R getInfo() throws Exception { RedisConnection connection = connectionFactory.getConnection(); - Properties commandStats = connection.commands().info("commandstats"); - - List> pieList = new ArrayList<>(); + try { + Properties commandStats = connection.commands().info("commandstats"); + List> pieList = new ArrayList<>(); if (commandStats != null) { commandStats.stringPropertyNames().forEach(key -> { Map data = new HashMap<>(2); @@ -43,10 +44,13 @@ public class CacheController { pieList.add(data); }); } - return R.ok(new CacheListInfoVo( connection.commands().info(), connection.commands().dbSize(), pieList)); + } finally { + // 归还连接给连接池 + RedisConnectionUtils.releaseConnection(connection, connectionFactory); + } } public record CacheListInfoVo(Properties info, Long dbSize, List> commandStats) {}