From 8d81a5966644a54ed4967f169cddf7db496e5045 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 4 Dec 2020 09:42:58 +0800 Subject: [PATCH] fix cache bug --- CHANGELOG.md | 1 + .../java/cn/hutool/cache/impl/AbstractCache.java | 12 +++++------- .../main/java/cn/hutool/db/handler/RsHandler.java | 1 + 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46734c020..3816909cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * 【core 】 multipart中int改为long,解决大文件上传越界问题(issue#I27WZ3@Gitee) ### Bug修复 +* 【cache 】 修复Cache中get重复misCount计数问题(issue#1281@Github) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java b/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java index fa54d16ba..f5e583f82 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java +++ b/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java @@ -15,7 +15,7 @@ import java.util.concurrent.locks.StampedLock; * 继承此抽象缓存需要:
* * * @param 键类型 @@ -30,11 +30,11 @@ public abstract class AbstractCache implements Cache { private final StampedLock lock = new StampedLock(); /** - * 返回缓存容量,0表示无大小限制 + * 返回缓存容量,{@code 0}表示无大小限制 */ protected int capacity; /** - * 缓存失效时长, 0 表示无限制,单位毫秒 + * 缓存失效时长, {@code 0} 表示无限制,单位毫秒 */ protected long timeout; @@ -168,10 +168,8 @@ public abstract class AbstractCache implements Cache { return null; } - if (co.isExpired()) { - missCount.getAndIncrement(); - } else { - // 命中 + // 命中 + if (false == co.isExpired()) { hitCount.getAndIncrement(); return co.get(isUpdateLastAccess); } diff --git a/hutool-db/src/main/java/cn/hutool/db/handler/RsHandler.java b/hutool-db/src/main/java/cn/hutool/db/handler/RsHandler.java index dcc9a3178..e595613ee 100644 --- a/hutool-db/src/main/java/cn/hutool/db/handler/RsHandler.java +++ b/hutool-db/src/main/java/cn/hutool/db/handler/RsHandler.java @@ -19,6 +19,7 @@ import java.sql.SQLException; * @author Luxiaolei * */ +@FunctionalInterface public interface RsHandler extends Serializable{ /**