diff --git a/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/redis/util/CreateRedisTemplateUtil.java b/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/redis/util/CreateRedisTemplateUtil.java new file mode 100644 index 000000000..9134bc082 --- /dev/null +++ b/kernel-d-cache/cache-sdk-redis/src/main/java/cn/stylefeng/roses/kernel/cache/redis/util/CreateRedisTemplateUtil.java @@ -0,0 +1,61 @@ +package cn.stylefeng.roses.kernel.cache.redis.util; + +import cn.stylefeng.roses.kernel.cache.redis.serializer.FastJson2JsonRedisSerializer; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.serializer.RedisSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +/** + * RedisTemplate创建工具类 + * + * @author fengshuonan + * @date 2021/5/17 16:50 + */ +public class CreateRedisTemplateUtil { + + /** + * 穿件序列化器 + * + * @author fengshuonan + * @date 2021/5/17 16:48 + */ + public static RedisSerializer fastJson2JsonRedisSerializer() { + return new FastJson2JsonRedisSerializer<>(Object.class); + } + + /** + * 创建value是object类型的redis操作类 + * + * @author fengshuonan + * @date 2021/5/17 16:49 + */ + public static RedisTemplate createObject(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(redisConnectionFactory); + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(fastJson2JsonRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + template.setHashValueSerializer(fastJson2JsonRedisSerializer()); + template.afterPropertiesSet(); + return template; + } + + /** + * 创建value是string类型的redis操作类 + * + * @author fengshuonan + * @date 2021/5/17 16:49 + */ + public static RedisTemplate createString(RedisConnectionFactory redisConnectionFactory) { + RedisTemplate template = new RedisTemplate<>(); + template.setConnectionFactory(redisConnectionFactory); + template.setKeySerializer(new StringRedisSerializer()); + template.setValueSerializer(new StringRedisSerializer()); + template.setHashKeySerializer(new StringRedisSerializer()); + template.setHashValueSerializer(new StringRedisSerializer()); + template.afterPropertiesSet(); + return template; + } + +} diff --git a/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/redis/starter/GunsRedisCacheAutoConfiguration.java b/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/redis/starter/GunsRedisCacheAutoConfiguration.java index 0d302adb5..bf89d3dcd 100644 --- a/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/redis/starter/GunsRedisCacheAutoConfiguration.java +++ b/kernel-d-cache/redis-spring-boot-starter/src/main/java/cn/stylefeng/roses/kernel/cache/redis/starter/GunsRedisCacheAutoConfiguration.java @@ -27,12 +27,12 @@ package cn.stylefeng.roses.kernel.cache.redis.starter; import cn.stylefeng.roses.kernel.cache.redis.operator.DefaultRedisCacheOperator; import cn.stylefeng.roses.kernel.cache.redis.operator.DefaultStringRedisCacheOperator; import cn.stylefeng.roses.kernel.cache.redis.serializer.FastJson2JsonRedisSerializer; +import cn.stylefeng.roses.kernel.cache.redis.util.CreateRedisTemplateUtil; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.RedisSerializer; -import org.springframework.data.redis.serializer.StringRedisSerializer; /** * 基于redis缓存的默认配置,默认提供两个RedisTemplate工具类,其他的各个模块自行配置 @@ -62,14 +62,7 @@ public class GunsRedisCacheAutoConfiguration { */ @Bean public RedisTemplate objectRedisTemplate(RedisConnectionFactory redisConnectionFactory) { - RedisTemplate template = new RedisTemplate<>(); - template.setConnectionFactory(redisConnectionFactory); - template.setKeySerializer(new StringRedisSerializer()); - template.setValueSerializer(fastJson2JsonRedisSerializer()); - template.setHashKeySerializer(new StringRedisSerializer()); - template.setHashValueSerializer(fastJson2JsonRedisSerializer()); - template.afterPropertiesSet(); - return template; + return CreateRedisTemplateUtil.createObject(redisConnectionFactory); } /** @@ -80,14 +73,8 @@ public class GunsRedisCacheAutoConfiguration { */ @Bean public RedisTemplate gunsStringRedisTemplate(RedisConnectionFactory redisConnectionFactory) { - RedisTemplate template = new RedisTemplate<>(); - template.setConnectionFactory(redisConnectionFactory); - template.setKeySerializer(new StringRedisSerializer()); - template.setValueSerializer(new StringRedisSerializer()); - template.setHashKeySerializer(new StringRedisSerializer()); - template.setHashValueSerializer(new StringRedisSerializer()); - template.afterPropertiesSet(); - return template; + return CreateRedisTemplateUtil.createString(redisConnectionFactory); + } /**