From 7319c244033a5ec3cd4a33d81dac09e36bb64b01 Mon Sep 17 00:00:00 2001 From: wanggeng <450292408@qq.com> Date: Thu, 1 Aug 2024 16:18:04 +0800 Subject: [PATCH] =?UTF-8?q?redis=E6=96=87=E4=BB=B6=E5=BC=95=E8=B5=B7?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cache/manager/files/RedisFilesShowCodeService.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/redis-cache/src/main/java/ink/wgink/redis/cache/manager/files/RedisFilesShowCodeService.java b/redis-cache/src/main/java/ink/wgink/redis/cache/manager/files/RedisFilesShowCodeService.java index 0f135188..cd531f4f 100644 --- a/redis-cache/src/main/java/ink/wgink/redis/cache/manager/files/RedisFilesShowCodeService.java +++ b/redis-cache/src/main/java/ink/wgink/redis/cache/manager/files/RedisFilesShowCodeService.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Component; import java.util.HashSet; import java.util.Set; +import java.util.concurrent.TimeUnit; /** * @ClassName: RedisFilesShowCodeServiceImpl @@ -36,12 +37,12 @@ public class RedisFilesShowCodeService implements IFilesShowCodeService { @Override public void clearTimeoutShowCode() { - Set keySet = redisTemplate.keys(FILE_SHOW_CODE_KEY); + Set keySet = redisTemplate.keys(FILE_SHOW_CODE_KEY + "**"); long currentTimeMillis = System.currentTimeMillis(); Set clearKeys = new HashSet<>(16); long clearTimeoutShowCodeCount = 0; for (String key : keySet) { - FilesShowCode showCode = getShowCode(key); + FilesShowCode showCode = (FilesShowCode) redisTemplate.opsForValue().get(key); if (currentTimeMillis - showCode.getLatestUpdateTime() > SHOW_CODE_TIMEOUT_MILLIS) { clearKeys.add(FILE_SHOW_CODE_KEY + showCode.getFileId()); } @@ -66,8 +67,7 @@ public class RedisFilesShowCodeService implements IFilesShowCodeService { public synchronized FilesShowCode getShowCode(String fileId) { FilesShowCode showCode = (FilesShowCode) redisTemplate.opsForValue().get(FILE_SHOW_CODE_KEY + fileId); if (showCode != null) { - showCode.setLatestUpdateTime(System.currentTimeMillis()); - redisTemplate.opsForValue().set(FILE_SHOW_CODE_KEY + fileId, showCode); + redisTemplate.opsForValue().set(FILE_SHOW_CODE_KEY + fileId, showCode, 1, TimeUnit.MINUTES); } return showCode; }