我想将对象保存到会话,并将这些会话保存到Redis。
Redis使用
JdkSerializationRedisSerializer
RedisOperationsSessionRepository
):
private RedisSerializer<Object> defaultSerializer = new JdkSerializationRedisSerializer();
为了做到这一点,我也
没有这个,我就错了:
SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type
如何重写redis序列化程序?
@Bean
public RedisOperationsSessionRepository sessionRepository(RedisTemplate<Object, Object> redisTemplate)
{
RedisOperationsSessionRepository sessionRepository = new RedisOperationsSessionRepository(redisTemplate);
sessionRepository.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
sessionRepository.setDefaultMaxInactiveInterval(300);
return sessionRepository;
}
我正在使用:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis', version: '2.1.3.RELEASE'
compile group: 'org.springframework.session', name: 'spring-session-data-redis', version: '2.1.4.RELEASE'
compile group: 'org.springframework.data', name: 'spring-data-redis', version: '2.1.5.RELEASE'
compile group: 'io.lettuce', name: 'lettuce-core', version: '5.1.4.RELEASE'