使用 spring data redis 序列化无法序列化父类属性。ObjectMapper 单独使用是可以序列化父类属性的。

2023-05-12 17:35:40 +08:00
 xpc

有办法打开 @CachePut 的调试日志吗

@Bean
public RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) {
	// 设置序列化
	Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
	ObjectMapper om = new ObjectMapper();
	om.setVisibility(PropertyAccessor.ALL, Visibility.ANY);
	om.enableDefaultTyping(DefaultTyping.NON_FINAL);
	jackson2JsonRedisSerializer.setObjectMapper(om);
	RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
	redisTemplate.setConnectionFactory(lettuceConnectionFactory);
	RedisSerializer<?> stringSerializer = new StringRedisSerializer();
	redisTemplate.setKeySerializer(stringSerializer);// key 序列化
	redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);// value 序列化
	redisTemplate.setHashKeySerializer(stringSerializer);// Hash key 序列化
	redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);// Hash value 序列化
	redisTemplate.afterPropertiesSet();
	return redisTemplate;
}
684 次点击
所在节点    程序员
4 条回复
xiyangzh
2023-05-12 18:16:38 +08:00
是不是把现象描述详细。 无法序列化是序列化报错呢还是序列化的值有问题呢?

Jackson 的东西只听说过反序列化有问题,还是头一次听说序列化有问题的
awolf
2023-05-13 16:55:53 +08:00
redis 里面看过结果么?
xpc
2023-05-15 10:54:49 +08:00
@xiyangzh 序列化后父类的属性没有。
xpc
2023-05-15 10:55:30 +08:00
@awolf redis 里应该就没有了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/939580

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX