Class RedisCache
java.lang.Object
io.micronaut.configuration.lettuce.cache.AbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>
io.micronaut.configuration.lettuce.cache.RedisCache
- All Implemented Interfaces:
io.micronaut.cache.Cache<io.lettuce.core.api.StatefulConnection<byte[],,byte[]>> io.micronaut.cache.SyncCache<io.lettuce.core.api.StatefulConnection<byte[],,byte[]>> AutoCloseable
@EachBean(RedisCacheConfiguration.class)
@Requires(classes=io.micronaut.cache.SyncCache.class,
property="redis.pool.enabled",
defaultValue="false",
notEquals="true")
public class RedisCache
extends AbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>
An implementation of
SyncCache for Lettuce / Redis.- Since:
- 1.0
- Author:
- Graeme Rocher
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classRedis Async cache implementation. -
Field Summary
Fields inherited from class io.micronaut.configuration.lettuce.cache.AbstractRedisCache
expireAfterAccess, expireAfterWritePolicy, INVALID_REDIS_CONNECTION_MESSAGE, keySerializer, redisCacheConfiguration, valueSerializer -
Constructor Summary
ConstructorsConstructorDescriptionRedisCache(DefaultRedisCacheConfiguration defaultRedisCacheConfiguration, RedisCacheConfiguration redisCacheConfiguration, io.micronaut.core.convert.ConversionService conversionService, io.micronaut.context.BeanLocator beanLocator) Creates a new redis cache for the given arguments. -
Method Summary
Modifier and TypeMethodDescriptionio.micronaut.cache.AsyncCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> async()voidclose()<T> @NonNull Optional<T><T> Tprotected StringgetName()io.lettuce.core.api.StatefulConnection<byte[],byte[]> protected <T> Optional<T>getValue(io.micronaut.core.type.Argument<T> requiredType, byte[] serializedKey) Get the value based on the parameters.voidinvalidate(Object key) voidvoid<T> @NonNull Optional<T>putIfAbsent(Object key, T value) protected <T> voidputValue(byte[] serializedKey, T value) Place the value in the cache.protected byte[]serializeKey(Object key) Serialize the key.Methods inherited from class io.micronaut.configuration.lettuce.cache.AbstractRedisCache
get, getRedisKeyAsyncCommands, getRedisKeyCommands, getRedisStringAsyncCommands, getRedisStringCommands, putValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.cache.Cache
getCacheInfoMethods inherited from interface io.micronaut.cache.SyncCache
get, get, getExecutorService, putIfAbsent
-
Constructor Details
-
RedisCache
public RedisCache(DefaultRedisCacheConfiguration defaultRedisCacheConfiguration, RedisCacheConfiguration redisCacheConfiguration, io.micronaut.core.convert.ConversionService conversionService, io.micronaut.context.BeanLocator beanLocator) Creates a new redis cache for the given arguments.- Parameters:
defaultRedisCacheConfiguration- The default configurationredisCacheConfiguration- The configurationconversionService- The conversion servicebeanLocator- The bean locator used to discover the redis connection from the configuration
-
-
Method Details
-
getName
-
getNativeCache
public io.lettuce.core.api.StatefulConnection<byte[],byte[]> getNativeCache() -
get
-
invalidate
-
invalidateAll
public void invalidateAll() -
async
public io.micronaut.cache.AsyncCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> async() -
getValue
protected <T> Optional<T> getValue(io.micronaut.core.type.Argument<T> requiredType, byte[] serializedKey) Get the value based on the parameters.- Specified by:
getValuein classAbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> - Type Parameters:
T- type of the argument- Parameters:
requiredType- requiredTypeserializedKey- serializedKey- Returns:
- value
-
putValue
protected <T> void putValue(byte[] serializedKey, T value) Place the value in the cache.- Specified by:
putValuein classAbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> - Type Parameters:
T- type of the value- Parameters:
serializedKey- serializedKeyvalue- value
-
get
@NonNull public <T> @NonNull Optional<T> get(Object key, io.micronaut.core.type.Argument<T> requiredType) - Specified by:
getin interfaceio.micronaut.cache.SyncCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> - Overrides:
getin classAbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>
-
put
- Specified by:
putin interfaceio.micronaut.cache.SyncCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> - Overrides:
putin classAbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>
-
putIfAbsent
- Specified by:
putIfAbsentin interfaceio.micronaut.cache.SyncCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> - Overrides:
putIfAbsentin classAbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>
-
getKeysPattern
- Overrides:
getKeysPatternin classAbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> - Returns:
- The default keys pattern.
-
serializeKey
Description copied from class:AbstractRedisCacheSerialize the key.- Overrides:
serializeKeyin classAbstractRedisCache<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> - Parameters:
key- The key- Returns:
- bytes of the object
-
close
@PreDestroy public void close()
-