当前位置: 首页 > news >正文

Redis 乱码和LocalDateTime类型缓存问题

问题

Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module \"com.fasterxml.jackson.datatype:jackson-datatype-jsr310\" to enable handling

还有redis 16进制乱码的问题

引入依赖

<dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-jsr310</artifactId><version>2.13.3</version>
</dependency>

自定义RedisTemplate

/*** Redis配置类* 配置RedisTemplate的序列化方式*/
@Configuration
public class RedisConfig {/*** 自定义RedisTemplate,使用StringRedisSerializer和Jackson2JsonRedisSerializer* 解决Redis中的key和value显示为16进制的问题*/@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {// 创建RedisTemplate对象RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();// 设置连接工厂redisTemplate.setConnectionFactory(redisConnectionFactory);// 创建Jackson2JsonRedisSerializer序列化器Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class);// 创建支持Java 8日期时间类型的ObjectMapperObjectMapper objectMapper = new ObjectMapper();// 指定要序列化的域,field,get和set,以及修饰符范围,ANY是都有包括private和publicobjectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);// 指定序列化输入的类型,类必须是非final修饰的,final修饰的类,比如String,Integer等会跑出异常objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY);// 注册JavaTimeModule以支持Java 8日期时间类型objectMapper.registerModule(new JavaTimeModule());// 禁用将日期写为时间戳的功能objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);// 设置ObjectMapperjackson2JsonRedisSerializer.setObjectMapper(objectMapper);// 设置Key的序列化redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.setHashKeySerializer(new StringRedisSerializer());// 设置Value的序列化redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);// 初始化RedisTemplateredisTemplate.afterPropertiesSet();return redisTemplate;}
} 

http://www.lqws.cn/news/510085.html

相关文章:

  • 鸿蒙开发深入解析:Data Ability 数据共享机制全面指南
  • 工业弧焊机器人气保焊节气装置
  • 搭建智能问答系统,有哪些解决方案,比如使用Dify,LangChain4j+RAG等
  • 【Altium】原理图位号自动标注
  • spring中的切面类实践
  • WPF CommunityToolkit.Mvvm
  • 【技术难题】el-table的全局数据排序实现示例,不受分页影响,以及异步请求带来的页面渲染问题
  • 针对基于深度学习的侧信道分析(DLSCA)进行超参数的贝叶斯优化
  • VIVADO导出仿真数据到MATLAB中进行分析
  • python基础(字符串-复习)
  • 关于素数、唯一分解等内容的详细讲解(从属于GESP五级)
  • vscode + Jlink 一键调试stm32 单片机程序(windows系统版)
  • HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
  • I2C设备树参数详解
  • 猿人学js逆向比赛第一届第十三题
  • 多线程的同步
  • docker部署oracle数据库
  • Leetcode+JAVA+回溯1
  • i.MX平台下 Linux + FreeRTOS 协同启动与通讯全解(含Yocto实战与核心机制分析)
  • ​CentOS 7 单用户模式重置 root 密码完整指南
  • 无人机神经网络模块运行与技术难点
  • Dify与代理商奇墨科技为企业定制AI应用开发专属方案,适配多样化业务需求
  • vue-25( Composition API 与现有的 Options API 组件集成)
  • 采用ArcGIS10.8.2 进行插值图绘制
  • DEYOLO 全面复现,将双增强跨模态目标检测网络 DEYOLO 融合到 YOLOFuse 框架
  • C++字符大小
  • P0/P1级重大故障根因分析:技术挑战与无指责复盘文化
  • Leaking GAN
  • 医学数据分析实战:冠心病发病因素可视化
  • git学习资源