zoukankan      html  css  js  c++  java
  • Redis缓存 序列化对象存储乱码问题

    使用Redis缓存对象会出现下图现象:

    键值对都是乱码形式。

    解决以上问题:

    如果是xml配置

    我们直接注入官方给定的keySerializer,valueSerializer,hashKeySerializer即可:

     1 <bean id="apiRedisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
     2         p:connection-factory-ref="apiCacheRedisConnectionFactory">
     3         <property name="keySerializer">
     4             <bean
     5                 class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer" />
     6         </property>
     7         <property name="valueSerializer">
     8             <bean
     9                 class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer" />
    10         </property>
    11 
    12         <property name="hashKeySerializer">
    13             <bean
    14                 class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer" />
    15         </property>
    16         <property name="hashValueSerializer">
    17             <bean
    18                 class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer" />
    19         </property>
    20         <property name="stringSerializer">
    21             <bean
    22                 class="org.springframework.data.redis.serializer.StringRedisSerializer" />
    23         </property>
    24     </bean>

    spring boot 项目配置RedisConfig的时候使用以下方法:

     1 @Configuration
     2 public class RedisConfig {
     3     @Bean("jsonRedisTemplate")
     4     public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory)
     5             throws UnknownHostException {
     6         RedisTemplate<Object, Object> template = new RedisTemplate<Object, Object>();
     7         template.setConnectionFactory(redisConnectionFactory);
          //解决日期序列化问题
    8 ObjectMapper om = new ObjectMapper(); 9 om.setDateFormat(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")); 10 GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer(om); 11 template.setDefaultSerializer(genericJackson2JsonRedisSerializer); 12 return template; 13 14 } 15 }
  • 相关阅读:
    面向对象的三大特征
    前端基础----CSS基础概要(四)
    前端基础----CSS概要(三)
    前端基础----CSS概要(二)
    前端基础----CSS基础概要(一)
    计算机基础----常用的快捷键(一)
    前端基础------HTML概要(一)
    计算机基础---常用的应用软件
    计算机的分类
    计算机基础---硬件的组成
  • 原文地址:https://www.cnblogs.com/zhuzhen/p/8125793.html
Copyright © 2011-2022 走看看