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 8d7e83ece0ea823893e0cbc760686e5941d586b2..1582e001c24cdf21851db9b0c1bd426795ce7fef 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 9be98312de04a126e25f39e71ca41f51702bfb96..42f67ca8947f417df83011af400f4841c9194311 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);