Package com.imyeyu.spring.config
Class AbstractRedisConfig
java.lang.Object
com.imyeyu.spring.config.AbstractRedisConfig
- All Implemented Interfaces:
org.springframework.cache.annotation.CachingConfigurer
public abstract class AbstractRedisConfig
extends Object
implements org.springframework.cache.annotation.CachingConfigurer
抽象 RedisConfig
- Version:
- 2021-11-21 10:00
- Author:
- 夜雨
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract RedisConfigParams构建 Redis 基本配置abstract org.apache.commons.pool2.impl.GenericObjectPoolConfig<io.lettuce.core.api.StatefulConnection<?, ?>> 连接池配置<K,V> Redis <K, V> getRedis(int database, org.springframework.data.redis.serializer.RedisSerializer<K> keySerializer) 构造自定义 RedisTemplate<K,V> Redis <K, V> getRedis(int database, org.springframework.data.redis.serializer.RedisSerializer<K> keySerializer, org.springframework.data.redis.serializer.RedisSerializer<V> valueSerializer) 构造自定义 RedisTemplateabstract org.springframework.cache.interceptor.KeyGeneratorRedis key 生成策略Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.cache.annotation.CachingConfigurer
cacheManager, cacheResolver, errorHandler
-
Constructor Details
-
AbstractRedisConfig
protected AbstractRedisConfig()创建 Redis 配置
-
-
Method Details
-
configParams
构建 Redis 基本配置- Returns:
- Redis 基本配置
-
getPoolConfig
public abstract org.apache.commons.pool2.impl.GenericObjectPoolConfig<io.lettuce.core.api.StatefulConnection<?,?>> getPoolConfig()连接池配置参考:
GenericObjectPoolConfig<StatefulConnection<?, ?>> config = new GenericObjectPoolConfig<>(); config.setMaxTotal(config.getMaxActive()); config.setMinIdle(config.getMinIdle()); config.setMaxIdle(config.getMaxIdle()); config.setMaxWait(Duration.ofMillis(config.getMaxWait()));- Returns:
- GenericObjectPoolConfig
-
keyGenerator
public abstract org.springframework.cache.interceptor.KeyGenerator keyGenerator()Redis key 生成策略参考:
return (target, method, params) -> { StringBuilder sb = new StringBuilder(); sb.append(target.getClass().getName()); sb.append(method.getName()); for (Object obj : params) { sb.append(obj.toString()); } return sb.toString(); };- Specified by:
keyGeneratorin interfaceorg.springframework.cache.annotation.CachingConfigurer- Returns:
- KeyGenerator
-
getRedis
public <K,V> Redis<K,V> getRedis(int database, org.springframework.data.redis.serializer.RedisSerializer<K> keySerializer) 构造自定义 RedisTemplate- Type Parameters:
K- 键类型V- 值类型- Parameters:
database- 数据库keySerializer- 键序列化方式- Returns:
- RedisTemplate
-
getRedis
public <K,V> Redis<K,V> getRedis(int database, org.springframework.data.redis.serializer.RedisSerializer<K> keySerializer, org.springframework.data.redis.serializer.RedisSerializer<V> valueSerializer) 构造自定义 RedisTemplate针对同一服务器不同数据库
- Type Parameters:
K- 键类型V- 值类型- Parameters:
database- 数据库keySerializer- 键序列化方式valueSerializer- 值序列化方式- Returns:
- RedisTemplate
-