redis用java框架jdeis,存在序列化异常
redis用java框架jdeis,存在序列化异常:
org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?;
问题发生代码如下:
public class RedisTest extends JunitBase{ @Autowired private RedisTemplate redisTemplateSeventeen; @Test public void testRedis()throws Exception{ ValueOperations v = redisTemplateSeventeen.opsForValue(); Object obj = v.get("nopnrcarriers"); System.out.println(String.valueOf(obj)); } }
实际需要配置字符串序列化,默认用的jdk序列化会出现上述问题切换成字符串序列化就OK了
在redis配置文件中加入:
<!-- Jedis 172.16.6.17 db3库 连接池配置 --> <bean id="jedisConnectionFactorySeventeen" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" destroy-method="destroy"> <property name="poolConfig" ref="jedisPoolConfig"></property> <property name="hostName" value="${redisst.hostName}"></property> <property name="port" value="${redisst.port}"></property> <property name="timeout" value="${redisst.timeout}"></property> <property name="usePool" value="${redisst.usePool}"></property> <property name="password" value="${redisst.password}" ></property> <property name="database" value="${redisst.db}"></property> </bean> <bean id="redisTemplateSeventeen" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="jedisConnectionFactorySeventeen" /> <property name="keySerializer" ref="stringRedisSerializer" /> <property name="hashKeySerializer" ref="stringRedisSerializer" /> <property name="valueSerializer" ref="stringRedisSerializer"/> </bean>

浙公网安备 33010602011771号