From 1e3764d82bd9b77a89a7fb88d60dd411ecd4f11b Mon Sep 17 00:00:00 2001 From: liulin <lin.liu@88.com> Date: 星期日, 24 十一月 2024 00:48:18 +0800 Subject: [PATCH] redis统一给key加上前缀实现 --- src/main/java/com/lunhan/xxx/common/cache/CacheManagerConfig.java | 30 ++++++++++++++++++++++++++---- 1 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/lunhan/xxx/common/cache/CacheManagerConfig.java b/src/main/java/com/lunhan/xxx/common/cache/CacheManagerConfig.java index 7e94179..815af08 100644 --- a/src/main/java/com/lunhan/xxx/common/cache/CacheManagerConfig.java +++ b/src/main/java/com/lunhan/xxx/common/cache/CacheManagerConfig.java @@ -8,9 +8,9 @@ import org.springframework.data.redis.cache.RedisCacheConfiguration; import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; -import org.springframework.data.redis.serializer.RedisSerializationContext; -import org.springframework.data.redis.serializer.StringRedisSerializer; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.serializer.*; import java.time.Duration; @@ -23,7 +23,7 @@ //设置24小时过期 .entryTtl(Duration.ofMillis(ConstantFactory.TIME_LEN_24H)) //设置key的序列化方式 - .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())) + .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new RedisKeySerializer())) //设置值的序列化方式 .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())); @@ -34,4 +34,26 @@ //返回构造的cacheManager return builder.transactionAware().cacheDefaults(config).build(); } + + @Bean + public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) { + StringRedisTemplate stringRedisTemplate = new StringRedisTemplate(redisConnectionFactory); + stringRedisTemplate.setKeySerializer(new RedisKeySerializer()); + return stringRedisTemplate; + } + + @Bean + public RedisTemplate<String, Object> objectRedisTemplate(RedisConnectionFactory redisConnectionFactory) { + RedisSerializer<String> serializer = new StringRedisSerializer(); + Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); + RedisTemplate<String, Object> template = new RedisTemplate<>(); + template.setConnectionFactory(redisConnectionFactory); + template.setKeySerializer(new RedisKeySerializer()); + template.setValueSerializer(jackson2JsonRedisSerializer); + template.setHashKeySerializer(serializer); + template.setHashValueSerializer(jackson2JsonRedisSerializer); + template.afterPropertiesSet(); + + return template; + } } -- Gitblit v1.9.3