Record Class FixedDurationTtlFunction
java.lang.Object
java.lang.Record
org.springframework.data.redis.cache.FixedDurationTtlFunction
- All Implemented Interfaces:
RedisCacheWriter.TtlFunction
public record FixedDurationTtlFunction(Duration duration)
extends Record
implements RedisCacheWriter.TtlFunction
RedisCacheWriter.TtlFunction
implementation returning the given, predetermined Duration
used for per cache entry
time-to-live (TTL) expiration.- Since:
- 3.2
- Author:
- Mark Paluch, John Blum
- See Also:
-
Field Summary
Fields inherited from interface org.springframework.data.redis.cache.RedisCacheWriter.TtlFunction
NO_EXPIRATION
-
Constructor Summary
ConstructorDescriptionFixedDurationTtlFunction
(Duration duration) Creates an instance of aFixedDurationTtlFunction
record class. -
Method Summary
Modifier and TypeMethodDescriptionduration()
Returns the value of theduration
record component.final boolean
Indicates whether some other object is "equal to" this one.getTimeToLive
(Object key, Object value) final int
hashCode()
Returns a hash code value for this object.final String
toString()
Returns a string representation of this record class.
-
Constructor Details
-
FixedDurationTtlFunction
Creates an instance of aFixedDurationTtlFunction
record class.- Parameters:
duration
- the value for theduration
record component
-
-
Method Details
-
getTimeToLive
Description copied from interface:RedisCacheWriter.TtlFunction
Compute atime-to-live (TTL)
using the cachekey
andvalue
.The
time-to-live (TTL)
is computed on each write operation. Redis uses millisecond granularity for timeouts. Any more granular values (e.g. micros or nanos) are not considered and will be truncated due to rounding. ReturningDuration.ZERO
, or a value less thanDuration.ofMillis(1)
, results in a persistent value that does not expire.- Specified by:
getTimeToLive
in interfaceRedisCacheWriter.TtlFunction
- Parameters:
key
- the cache key.value
- the cache value. Can benull
if the cache supportsnull
value caching.- Returns:
- the computed
time-to-live (TTL)
. Can beDuration.ZERO
for persistent values (i.e. cache entry does not expire).
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
duration
Returns the value of theduration
record component.- Returns:
- the value of the
duration
record component
-