redis图形界面工具显示存储的是乱码,Bladex如何配置?

Blade 未结 1 1349
zkf
zkf 2020-05-16 21:44
1条回答
  •  smallchill
    smallchill (楼主)
    2020-05-16 23:03

    因为用了序列化,所以工具读不出来。如果你想工具能看到,那么把序列化去掉就行,但是带来的问题是1:性能变差,2:数据泄露风险

    作者追问:2020-05-16 23:03

    之前我们使用下面添加配置文件类来解决乱码问题,现在使用Bladex了当如何添加?


     @Bean

        public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory){

            RedisTemplate<String, String> redisTemplate = new RedisTemplate<String,String>();

            redisTemplate.setConnectionFactory(factory);

            // 使用Jackson2JsonRedisSerialize 替换默认序列化

            /**Jackson序列化  json占用的内存最小 */

            Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

            ObjectMapper om = new ObjectMapper();

            om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

            om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

            jackson2JsonRedisSerializer.setObjectMapper(om);

            StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();

            /**将key value 进行stringRedisSerializer序列化*/

            redisTemplate.setKeySerializer(stringRedisSerializer);

            redisTemplate.setValueSerializer(stringRedisSerializer);

            /**将HashKey HashValue 进行序列化*/

            redisTemplate.setHashKeySerializer(stringRedisSerializer);

            redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);

            redisTemplate.afterPropertiesSet();

            return redisTemplate;

        }


    0 讨论(0)
提交回复