存放redis异常Could not write JSON: Java 8 date/time type `java.time.LocalDateTime处理
2023-12-15 16:38:15
1.首先需要maven引入 <dependency> ? ? ? ? ? ? <artifactId>jackson-datatype-jsr310</artifactId> ? ? ? ? ? ? <groupId>com.fasterxml.jackson.datatype</groupId> ? ? ? ? ? ? <version>2.15.3</version> ?</dependency>
? ? ? ? 2.示例代码如下
private RedisTemplate<String, Object> serializer(RedisTemplate<String, Object> redisTemplate) {
// LocalDate序列化
ObjectMapper mapper = new ObjectMapper();
JavaTimeModule javaTimeModule = new JavaTimeModule();
// 设置序列化格式
javaTimeModule.addSerializer(LocalDateTime.class,
new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
mapper.registerModule(javaTimeModule);
// 使用 FastJsonRedisSerializer 来序列化和反序列化redis 的 value的值
Jackson2JsonRedisSerializer<Object> fastJsonRedisSerializer = new Jackson2JsonRedisSerializer<>(mapper,Object.class);
// key 的 String 序列化采用 StringRedisSerializer
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setHashKeySerializer(stringRedisSerializer);
// value 的值序列化采用 fastJsonRedisSerializer
redisTemplate.setValueSerializer(fastJsonRedisSerializer);
redisTemplate.setHashValueSerializer(fastJsonRedisSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
文章来源:https://blog.csdn.net/m0_37939214/article/details/135019230
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!