diff --git a/redisson-mybatis/src/main/java/org/redisson/mybatis/RedissonCache.java b/redisson-mybatis/src/main/java/org/redisson/mybatis/RedissonCache.java index 8d7e83ece..1582e001c 100644 --- a/redisson-mybatis/src/main/java/org/redisson/mybatis/RedissonCache.java +++ b/redisson-mybatis/src/main/java/org/redisson/mybatis/RedissonCache.java @@ -58,6 +58,10 @@ public class RedissonCache implements Cache { @Override public Object getObject(Object o) { check(); + if (maxIdleTime == 0 && maxSize == 0) { + return mapCache.getWithTTLOnly(o); + } + return mapCache.get(o); } diff --git a/redisson/src/main/java/org/redisson/spring/cache/RedissonCache.java b/redisson/src/main/java/org/redisson/spring/cache/RedissonCache.java index 9be98312d..42f67ca89 100644 --- a/redisson/src/main/java/org/redisson/spring/cache/RedissonCache.java +++ b/redisson/src/main/java/org/redisson/spring/cache/RedissonCache.java @@ -70,7 +70,13 @@ public class RedissonCache implements Cache { @Override public ValueWrapper get(Object key) { - Object value = map.get(key); + Object value; + if (mapCache != null && config.getMaxIdleTime() == 0 && config.getMaxSize() == 0) { + value = mapCache.getWithTTLOnly(key); + } else { + value = map.get(key); + } + if (value == null) { addCacheMiss(); } else { @@ -80,7 +86,13 @@ public class RedissonCache implements Cache { } public T get(Object key, Class type) { - Object value = map.get(key); + Object value; + if (mapCache != null && config.getMaxIdleTime() == 0 && config.getMaxSize() == 0) { + value = mapCache.getWithTTLOnly(key); + } else { + value = map.get(key); + } + if (value == null) { addCacheMiss(); } else { @@ -151,7 +163,13 @@ public class RedissonCache implements Cache { } public T get(Object key, Callable valueLoader) { - Object value = map.get(key); + Object value; + if (mapCache != null && config.getMaxIdleTime() == 0 && config.getMaxSize() == 0) { + value = mapCache.getWithTTLOnly(key); + } else { + value = map.get(key); + } + if (value == null) { addCacheMiss(); RLock lock = map.getLock(key);