From e1f64eaad2415a54a9c008838b8b6cdca936880f Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 13 Dec 2025 09:43:48 +0800 Subject: [PATCH] fix:【框架】支持自定义过期时间的缓存 key,不能忽略租户问题,对应 https://gitee.com/zhijiantianya/ruoyi-vue-pro/pulls/1474 --- yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/redis/TenantRedisCacheManager.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/redis/TenantRedisCacheManager.java b/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/redis/TenantRedisCacheManager.java index aeea4b5..8657738 100644 --- a/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/redis/TenantRedisCacheManager.java +++ b/yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/redis/TenantRedisCacheManager.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.framework.tenant.core.redis; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.redis.core.TimeoutRedisCacheManager; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import lombok.extern.slf4j.Slf4j; @@ -21,6 +22,8 @@ import java.util.Set; @Slf4j public class TenantRedisCacheManager extends TimeoutRedisCacheManager { + private static final String SPLIT = "#"; + private final Set ignoreCaches; public TenantRedisCacheManager(RedisCacheWriter cacheWriter, @@ -32,10 +35,11 @@ public class TenantRedisCacheManager extends TimeoutRedisCacheManager { @Override public Cache getCache(String name) { + String[] names = StrUtil.splitToArray(name, SPLIT); // 如果开启多租户,则 name 拼接租户后缀 if (!TenantContextHolder.isIgnore() - && TenantContextHolder.getTenantId() != null - && !CollUtil.contains(ignoreCaches, name)) { + && TenantContextHolder.getTenantId() != null + && !CollUtil.contains(ignoreCaches, names[0])) { name = name + ":" + TenantContextHolder.getTenantId(); } @@ -43,4 +47,4 @@ public class TenantRedisCacheManager extends TimeoutRedisCacheManager { return super.getCache(name); } -} +} \ No newline at end of file -- libgit2 0.21.4