在spring boot中,默认集成的redis是Spring Data Redis,Spring Data Redis针对redis提供了非常方便的操作模版RedisTemplate

idea中新建spring boot项目的时候,引入Spring Data Redis依赖:

创建成功后的项目依赖pom.xml如下:

其实spring-boot-starter-data-redis依赖中就包含了spring-data-redis依赖

application.properties中配置redis的信息:

可以看到默认连接的redis服务端主机和端口是localhost和6379

我的redis安装在了本地,端口也是默认的6379,所以application.properties中没有写东西

当开发者在项目中引入了Spring Data Redis,并配置了redis的基本信息,此时自动化配置就会生效,看一下spring boot中redis的自动化配置类

  • 首先标记这是一个配置类,同时该配置在RedisOperations存在的情况下才会生效(即项目中引入了Spring Data Redis)
  • 然后导入在application.properties中配置的属性
  • 然后再导入连接池信息
  • 最后,提供了两个bean,RedisTemplate和StringRedisTemplate,其中StringRedisTemplate是RedisTemplate的子类,两个方法基本一致,

   不同之处主要体现在操作的数据类型不同,RedisTemplate中的两个泛型都是Object,意味着存储的key和value都可以是一个对象,而StringRedisTemplate

   的两个泛型都是String,意味着StringRedisTemplate的key和value都只能是字符串。如果开发者没有提供相关的bean,这两个配置就会生效,否则不会生效

   终端开启redis服务端,并保持开启状态,确保一会可以连得上redis服务端:

Spring Data Redis中真正操作redis可以采用RedisTemplate的方式

  • 针对key的操作,相关的方法就在RedisTemplate中
  • 针对具体数据类型的操作,相关的方法首先获取对应的数据类型,获取对应数据类型的操作方法是opsForXXX

在测试类中注入redisTemplate,redis支持的五种数据类型在RedisTemplate类中对应相应的方法:

以操作字符串的opfForValue()方法为例:

name前面的字符是由于使用了RedisTemplate导致的,RedisTemplate对key进行序列化之后对结果

RedisTemplate中,key默认的序列化方案是JdkSerializationRedisSerializer

而在StringRedisTemplate中,key默认的序列化方案是StringRedisSerializer,因此,如果使用StringRedisTemplate,默认情况下key前面不会有前缀

不过开发者也可以自行修改RedisRemplate中的序列化方案,也可以直接使用StringRedisTemplate

另外需要注意,spring boot的自动化配置,只能配置单机的redis,如果是redis集群,则所有的东西都需要手动配置

spring boot通过Spring Data Redis集成redis的更多相关文章

  1. Spring Boot(十三):整合Redis哨兵,集群模式实践

    前面的两篇文章(Redis的持久化方案, 一文掌握Redis的三种集群方案)分别介绍了Redis的持久化与集群方案 -- 包括主从复制模式.哨兵模式.Cluster模式,其中主从复制模式由于不能自动做 ...

  2. Spring Boot 2.0 教程 | 快速集成整合消息中间件 Kafka

    欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site ...

  3. Spring Boot 2.0 图文教程 | 集成邮件发送功能

    文章首发自个人微信公众号: 小哈学Java 个人网站: https://www.exception.site/springboot/spring-boots-send-mail 大家好,后续会间断地奉 ...

  4. Spring Boot与Spring MVC集成启动过程源码分析

    开源项目推荐 Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/ht ...

  5. Spring Boot 2.X(二):集成 MyBatis 数据层开发

    MyBatis 简介 概述 MyBatis 是一款优秀的持久层框架,支持定制化 SQL.存储过程以及高级映射.它采用面向对象编程的方式对数据库进行 CRUD 的操作,使程序中对关系数据库的操作更方便简 ...

  6. Spring Boot 结合Spring Data结合小项目(增,删,查,模糊查询,分页,排序)

    本次做的小项目是类似于,公司发布招聘信息,因此有俩个表,一个公司表,一个招聘信息表,俩个表是一对多的关系 项目整体结构: Spring Boot和Spring Data结合的资源文件 applicat ...

  7. spring boot系列(五)spring boot 配置spring data jpa (查询方法)

    接着上面spring boot系列(四)spring boot 配置spring data jpa 保存修改方法继续做查询的测试: 1 创建UserInfo实体类,代码和https://www.cnb ...

  8. Spring Boot 整合Spring Data JPA

    Spring Boot整合Spring Data JPA 1)加入依赖 <dependency> <groupId>org.springframework.boot</g ...

  9. Nacos Config客户端与Spring Boot、Spring Cloud深度集成

    目录 Nacos与Spring Boot集成 @NacosPropertySource和@NacosValue com.alibaba.nacos.spring.core.env.NacosPrope ...

  10. Spring Boot中Spring data注解的使用

    文章目录 Spring Data Annotations @Transactional @NoRepositoryBean @Param @Id @Transient @CreatedBy, @Las ...

随机推荐

  1. Python---网页元素

    文章目录 1. 前言 万维网 万维网的关键技术 2. 网页基本框架 HTML CSS: JavaScript 在介绍审查元素之前我们先简单介绍一下网页的基本框架 1. 前言 万维网 万维网(英语:Wo ...

  2. C#开发BIMFACE系列25 服务端API之获取模型数据10:获取楼层对应面积分区列表

    系列目录     [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列22 服务端API之获取模型数据7:获取多个模型的楼层信息>中,返回的楼层信息结果中包含了楼层的具体信 ...

  3. python读取大文件只能读取部分的问题

    最近准备重新研究一下推荐系统的东西,用到的数据集是Audioscrobbler音乐数据集.我用python处理数据集中artist_data.txt这个文件的时候,先读取每一行然后进行处理: with ...

  4. explain的关键字段的意义

    mysql提供的explain工具可以输出一些有用的信息. 一下是相关的部分返回值的意义. select_type 表示SELECT的类型,常见的取值有: SIMPLE:简单表,不使用表连接或子查询 ...

  5. Maven工程读取properties文件过程

    1.创建需要读取的properties文件 2.在xml文件中加载配置文件 <!-- 加载配置文件 --> <context:property-placeholder locatio ...

  6. Dubbo Spring Cloud 之 HTTP 实战

    上一篇文章<Spring Cloud Alibaba | Dubbo 与 Spring Cloud 完美结合>我们介绍了Dubbo Spring Cloud的基本使用,使用的服务中心为Sp ...

  7. Day 21 进程管理

    1.什么是进程 比如: 开发写的代码我们称为程序,那么将开发的代码运行起来.我们称为进程. 总结一句话就是: 当我们运行一个程序,那么我们将运行的程序叫进程. PS1: 当程序运行为进程后,系统会为该 ...

  8. Spring Boot核心(基本配置)

    上一篇Spring Boot我们简单讲了如何快速创建一个SpringBoot项目. 大家都知道SpringBoot非常强大,可以轻松与各种工具集成,但是我们知其然,也必须知其所以然. 今天开始就和大家 ...

  9. [Spark] 00 - Install Hadoop & Spark

    Hadoop安装 Java环境配置 安装课程:安装配置 配置手册:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04[依照步骤完成配置] jsk安装使用的链接中第 ...

  10. thymeleaf自定义标签方言处理

    项目背景:springboot+thymeleaf thymeleaf两种方式处理自定义标签:AbstractAttributeTagProcessor 和 AbstractElementTagPro ...