news 2026/4/24 18:12:42

spring boot项目中替换redis默认序列化方式:

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
spring boot项目中替换redis默认序列化方式:

1. 为什么要替换redis默认的序列化方式?

答:原有的redis默认使用的是jdk的序列化方式,它序列化出来是乱码,没有可读性。

2. 如何替换redis默认的序列化方式?

项目中集成redis后,编写配置类,代码如下:

@Configuration public class RedisConfig { /** * 配置RedisTemplate序列化规则 * 使用String序列化器处理key和value,确保Redis中存储的键值对都是可读的字符串格式 * * @param redisConnectionFactory Redis连接工厂,由Spring Boot自动配置提供 * @return 配置好序列化规则的RedisTemplate实例 */ @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate redisTemplate = new RedisTemplate<>(); RedisSerializer< String> redisSerializer = new StringRedisSerializer(); redisTemplate.setConnectionFactory(redisConnectionFactory); // 设置key的序列化方式为String,保证key在Redis中以明文形式存储 redisTemplate.setKeySerializer(redisSerializer); // 设置hash结构field的序列化方式为String redisTemplate.setHashKeySerializer(redisSerializer); // 设置value的序列化方式为Jackson2 JSON,将Java对象序列化为JSON格式存储 redisTemplate.setValueSerializer(jackson2JsonRedisSerializer()); // 配置hash结构value的序列化方式 redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer()); return redisTemplate; } /** * 创建Jackson2 JSON序列化器 * 用于将Java对象序列化为JSON格式存储到Redis,支持对象的反序列化 * @return 配置好ObjectMapper的Jackson2JsonRedisSerializer实例 */ private Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer() { Jackson2JsonRedisSerializer<Object> jsonRedisSerializer = new Jackson2JsonRedisSerializer<>(Object.class); ObjectMapper objectMapper = new ObjectMapper(); // 设置所有属性的访问权限,允许序列化private字段 objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); // 禁用遇到未知属性时抛出异常,提高兼容性 objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false); // 启用默认类型信息,在JSON中包含类名以便反序列化时能还原为正确的对象类型 objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY); jsonRedisSerializer.setObjectMapper(objectMapper); return jsonRedisSerializer; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 18:11:48

贝叶斯优化算法原理与Python实现

1. 贝叶斯优化算法概述贝叶斯优化是一种基于概率模型的全局优化方法&#xff0c;特别适用于目标函数计算成本高昂、噪声较大或难以求导的场景。与传统的网格搜索或随机搜索相比&#xff0c;它通过构建目标函数的概率代理模型&#xff0c;能够更高效地找到全局最优解。在机器学习…

作者头像 李华
网站建设 2026/4/24 18:10:14

LINUX系统编程-进程概念

在linux系统中&#xff0c;对于进程管理&#xff0c;文件系统和设备驱动&#xff0c;都是通过先描述再组织的方式进行管理。那么&#xff0c;什么是先描述&#xff0c;什么是后组织呢&#xff1f;简单来说&#xff0c;先描述的意思就是&#xff0c;将数据&#xff0c;通过结构体…

作者头像 李华
网站建设 2026/4/24 18:06:41

告别手机小屏幕!酷安UWP让你在Windows电脑上高效刷酷安的神奇体验

告别手机小屏幕&#xff01;酷安UWP让你在Windows电脑上高效刷酷安的神奇体验 【免费下载链接】Coolapk-UWP 一个基于 UWP 平台的第三方酷安客户端 项目地址: https://gitcode.com/gh_mirrors/co/Coolapk-UWP 还在为手机刷酷安而眼睛酸痛吗&#xff1f;想在大屏幕上舒适…

作者头像 李华
网站建设 2026/4/24 18:03:42

DeepSeek正式发布:你需要知道的6个重点

DeepSeek正式发布&#xff1a;你需要知道的6个重点 2026年4月&#xff0c;DeepSeek V4 终于正式发布了。 从2025年初V3和R1的惊艳亮相&#xff0c;到V4的漫长等待期&#xff0c;这个来自中国的AI实验室始终保持着"低成本、高性能"的路线。 如果你关注AI圈&#xff0c…

作者头像 李华
网站建设 2026/4/24 17:54:54

AI辅助UI设计全流程:从需求描述到高质量出图的完整步骤大全

一款产品从构想落地到可交付的视觉稿&#xff0c;传统流程通常需要产品经理、UI设计师、前端开发者之间反复拉齐&#xff0c;周期动辄两周起步。随着 AI 辅助设计工具进入实际工作流&#xff0c;这条链路的时间结构正在发生根本性的变化。本文以 UXbot 为例&#xff0c;完整拆解…

作者头像 李华