当前位置: 主页 > 网络资讯 > 运维技术

SpringBoot怎么整合Redis实现序列化存储Java对象

发布时间:2023-05-29 08:43   浏览次数:次   作者:ADMIN

一、背景

1、思考

通过我们前面的学习,我们已经可以往 redis 中存入字符串,那么我们要往 redis 中存入 java 对象该怎么办呢?

2、方案

我们可以将 Java 对象转化为 JSON 对象,然后转为 JSON 字符串,存入 Redis,那么我们从 Redis 中取出该数据的时候,我们也只能取出字符串,并转为 Java 对象,这一系列的操作是不是显得有些麻烦呢?

二、源码分析

SpringBoot怎么整合Redis实现序列化存储Java对象

  • 以上是 RedisAutoConfiguration 类中的源码片段,可以看出 SpringBoot 对 Redis 做自动化配置的时候,在容器中注入了 redisTemplate 和 stringRedisTemplate

  • 其中,RedisTemplate 表示,key 的类型为 Object,value 的类型为 Object,但是我们往往需要的是 RedisTemplate,这就需要我们重新注入一个 RedisTemplate 的 Bean,它的泛型为 RedisTemplate,并设置 key,value 的序列化方式

  • 看到这个@ConditionalOnMissingBean注解后,就知道如果Spring容器中有了RedisTemplate对象了,这个自动配置的RedisTemplate不会实例化。因此,我们有能力编写自定义的配置类来为RedisTemplate进行配置。

三、注入RedisTemplate

1、引入依赖

<!-- redis -->
<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-data-redis</artifactid></dependency>



相关栏目: 【 网站优化84359 】 【 站长学院75356 】 【 运营推广7218 】 【 小程序18188 】 【 运维技术36808 】 【 营销推广32536 】 【 SEO优化41416 】 【 百度推广27695 】 【 AI推广83940


相关推荐: Redis基本数据类型List常用操作命令是什么  Git怎么创建分支  kubernetes之怎么使用statefulset搭建MySQL集群  centos怎么配置dns域名解析  Linux中MySQL日志在哪  win7怎么设置u盘为第一启动项  redis中的bitmap实例分析  vue3怎么读IC卡  推荐六个鲜为人知的Composer命令  notepad鼠标表示怎么改  centos系统修改dns后无法解析地址  Linux的mysql命令有什么用  notepad++怎么设置黑色背景颜色  怎么在docker上跑mysql  centos怎么卸载软件  redis集群特性有哪些  MySQL默认的sql mode怎么设置  vue2和vue3都要学吗  vue3怎么获取插槽中的数据  Linux下如何设置redis密码  CentOS7怎么安装软件  应对 Tailwind CSS 中任意值的安全风险  notepad++官网怎么下载  如何查看linux系统配置  MySQL日期函数的使用示例  CentOS和RHEL的区别是什么  如何设置notepad++不自动更新  使用 Nextjs 增强 Web 性能:延迟加载、图像优化和服务器端渲染  MySQL中分类排名和分组TOP N的示例分析  vue3响应式和静态网页区别  notepad++如何保存为gbk格式  vue3怎么修改值  notepad怎么切换到列块模式  vue3没有data了吗  前端技术规划怎么写  怎么使用Go+Redis实现常见限流算法  Redis中HyperLogLog数据类型如何使用  js获取浏览器默认下载地址 js调用浏览器下载功能网站地址  vue3如何进行状态管理  window10无法连接wifi怎么办  notepad怎么设置字体大小  mysql物理备份是什么  notepad打开中文乱码  在 Reactjs 中构建表单:初学者指南  js算术运算符有哪些  怎么修改notepad的字体  现在公司用vue3还是vue2  MySQL子查询原理是什么  linux如何查看显卡驱动是否安装  基于Golang如何实现Redis协议解析器