背景:
在SpringBoot中使用Redis时,发现key\value前面都有一串\xac\xed\x00\x05sr\x00...的字符。
使用前:

使用后:

解决方案一:
使用StringRedisSerializer、FastJsonRedisSerializer替换默认的JdkSerializationRedisSerializer
package xxx.config.redis;
import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
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;
@Configuration
public class RedisExtConfiguration {
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory factory) {
// 定义序列化方式
RedisSerializer<String> strRedisSerializer = new StringRedisSerializer();
FastJsonRedisSerializer objRedisSerializer = new FastJsonRedisSerializer(Object.class);
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
// 配置key序列化方式
redisTemplate.setKeySerializer(strRedisSerializer);
redisTemplate.setHashKeySerializer(strRedisSerializer);
// 配置value序列化方式
redisTemplate.setValueSerializer(objRedisSerializer);
redisTemplate.setHashValueSerializer(objRedisSerializer);
return redisTemplate;
}
}