美文网首页
redisTemplate自定义序列化配置,更改其默认序列化器

redisTemplate自定义序列化配置,更改其默认序列化器

作者: 拄杖忙学轻声码 | 来源:发表于2021-10-23 10:51 被阅读0次

    问题场景:
    如果我们使用redis默认的序列化器,会发现redis可视化工具中展示的是乱码,非常不友好

    解决:
    配置redisTemplate的序列化器,使用自定义的序列化器,不使用redis默认的,代码如下:

    package com.hkl.modules.configure;
     
    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.GenericJackson2JsonRedisSerializer;
    import org.springframework.data.redis.serializer.RedisSerializer;
    import org.springframework.data.redis.serializer.StringRedisSerializer;
     
    /**
     * <p>ClassName: RedisConfigure</p >
     * <p>Description: redisTemplate自定义序列化配置,更改其默认序列化器</p >
     * <p>Date: 2021/10/23</p >
     */
    @Configuration
    public class RedisConfigure {
     
        @Bean(name = "redisTemplate")
        public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
     
            RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();
            // 参照StringRedisTemplate内部实现指定序列化器
            redisTemplate.setConnectionFactory(redisConnectionFactory);
            redisTemplate.setKeySerializer(keySerializer());
            redisTemplate.setHashKeySerializer(keySerializer());
            redisTemplate.setValueSerializer(valueSerializer());
            redisTemplate.setHashValueSerializer(valueSerializer());
     
            return redisTemplate;
        }
     
        //使用Jackson序列化器,key使用字符串
        private RedisSerializer<String> keySerializer() {
            return new StringRedisSerializer();
        }
     
        //使用Jackson序列化器,value使用Object
        private RedisSerializer<Object> valueSerializer() {
            return new GenericJackson2JsonRedisSerializer();
        }
     
    }
    

    以上配置好之后,redis可视化端就会正常显示json格式的数据


    image.png

    相关文章

      网友评论

          本文标题:redisTemplate自定义序列化配置,更改其默认序列化器

          本文链接:https://www.haomeiwen.com/subject/aaukaltx.html