diff --git a/src/main/java/org/springframework/data/redis/cache/DefaultRedisCacheWriter.java b/src/main/java/org/springframework/data/redis/cache/DefaultRedisCacheWriter.java index 600cb4f0b7..27d0d19348 100644 --- a/src/main/java/org/springframework/data/redis/cache/DefaultRedisCacheWriter.java +++ b/src/main/java/org/springframework/data/redis/cache/DefaultRedisCacheWriter.java @@ -270,10 +270,11 @@ public byte[] get(String name, byte[] key, Supplier valueLoader, @Nullab Assert.notNull(key, "Key must not be null"); boolean withTtl = shouldExpireWithin(ttl); + Duration ttlForGet = (timeToIdleEnabled && withTtl ? ttl : null); // double-checked locking optimization if (isLockingCacheWriter()) { - byte[] bytes = get(name, key, timeToIdleEnabled && withTtl ? ttl : null); + byte[] bytes = get(name, key, ttlForGet); if (bytes != null) { return bytes; } @@ -287,7 +288,7 @@ public byte[] get(String name, byte[] key, Supplier valueLoader, @Nullab try { - byte[] result = doGet(connection, name, key, timeToIdleEnabled && withTtl ? ttl : null); + byte[] result = doGet(connection, name, key, ttlForGet); if (result != null) { return result;