Class RedisConnectionPoolCache
- java.lang.Object
-
- io.micronaut.configuration.lettuce.cache.AbstractRedisCache<io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>>
-
- io.micronaut.configuration.lettuce.cache.RedisConnectionPoolCache
-
- All Implemented Interfaces:
io.micronaut.cache.Cache<io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>>,io.micronaut.cache.SyncCache<io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>>,java.lang.AutoCloseable
@EachBean(RedisCacheConfiguration.class) @Requires(classes=io.micronaut.cache.SyncCache.class, property="redis.pool.enabled", defaultValue="false", notEquals="false") public class RedisConnectionPoolCache extends AbstractRedisCache<io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>>
An implementation ofSyncCachefor Lettuce / Redis using connection pooling.- Since:
- 5.3.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classRedisConnectionPoolCache.RedisAsyncCacheRedis 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
Constructors Constructor Description RedisConnectionPoolCache(DefaultRedisCacheConfiguration defaultRedisCacheConfiguration, RedisCacheConfiguration redisCacheConfiguration, io.micronaut.core.convert.ConversionService<?> conversionService, io.micronaut.context.BeanLocator beanLocator, io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> asyncPool)Creates a new redis cache for the given arguments.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description io.micronaut.cache.AsyncCache<io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>>async()voidclose()<T> Tget(java.lang.Object key, io.micronaut.core.type.Argument<T> requiredType, java.util.function.Supplier<T> supplier)java.lang.StringgetName()io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>getNativeCache()protected <T> java.util.Optional<T>getValue(io.micronaut.core.type.Argument<T> requiredType, byte[] serializedKey)Get the value based on the parameters.voidinvalidate(java.lang.Object key)voidinvalidateAll()protected <T> voidputValue(byte[] serializedKey, T value)Place the value in the cache.-
Methods inherited from class io.micronaut.configuration.lettuce.cache.AbstractRedisCache
get, get, getKeysPattern, getRedisKeyAsyncCommands, getRedisKeyCommands, getRedisStringAsyncCommands, getRedisStringCommands, put, putIfAbsent, putValue, serializeKey
-
-
-
-
Constructor Detail
-
RedisConnectionPoolCache
public RedisConnectionPoolCache(DefaultRedisCacheConfiguration defaultRedisCacheConfiguration, RedisCacheConfiguration redisCacheConfiguration, io.micronaut.core.convert.ConversionService<?> conversionService, io.micronaut.context.BeanLocator beanLocator, io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> asyncPool)
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 configurationasyncPool- Redis async pool
-
-
Method Detail
-
getName
public java.lang.String getName()
-
getNativeCache
public io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>> getNativeCache()
-
get
public <T> T get(@NonNull java.lang.Object key, @NonNull io.micronaut.core.type.Argument<T> requiredType, @NonNull java.util.function.Supplier<T> supplier)
-
invalidate
public void invalidate(java.lang.Object key)
-
invalidateAll
public void invalidateAll()
-
async
public io.micronaut.cache.AsyncCache<io.lettuce.core.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>> async()
-
getValue
protected <T> java.util.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.support.AsyncPool<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.support.AsyncPool<io.lettuce.core.api.StatefulConnection<byte[],byte[]>>>- Type Parameters:
T- type of the value- Parameters:
serializedKey- serializedKeyvalue- value
-
close
@PreDestroy public void close()
-
-