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

Spring Boot整合缓存——Redis缓存!超详细!

前言

!声明:本文基于“ Spring Boot整合缓存——声明式缓存注解的应用!超详细!”进行拓展。

1、环境目录

图1-1 项目目录

2、环境配置

JDK:17

IDEA:2025.1

Spring Boot:3.4.3


一、创建项目

        在IDEA中创建 Spring Boot 项目 chapter06_RedisCache,大家可以根据自己当前情况选择使用 Spring Initializr 方式或者 Maven方式进行创建,在此选择使用 Maven 方式创建项目。


二、配置依赖

         在项目 chapter06_RedisCache 的 pom.xml 文件中配置添加 Redis 的依赖,具体代码如下。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4.3</version><relativePath/></parent><groupId>org.example</groupId><artifactId>chapter06_RedisCache</artifactId><version>0.0.1-SNAPSHOT</version><name>chapter06_RedisCache</name><description>chapter06_RedisCache</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

三、设置配置信息

        在项目 chapter06_RedisCache的 application.yml 文件中添加 Redis缓存的相关配置,具体代码如下。

spring:cache:type: redisredis:use-key-prefix: truekey-prefix: "book_"cache-null-values: falsedata:redis:host: localhostport: 6379database: 3datasource:url: jdbc:mysql://localhost:3306/【数据库名】?characterEncoding=utf-8username: 【用户名】password: 【密码】driver-class-name: com.mysql.cj.jdbc.Driverjpa:show-sql: true

        本案例不是对原始的Redis进行配置,而是需要将Redis作为缓存进行配置,需要注意的是,Redis 作为缓存使用的相关配置隶属于spring.cache.redis 节点。上述配置中,use-key-prefix用于指定是否开启key前缀;key-prefix用于指定key前缀;cache-null-values用于指定是否缓存空值;time-to-live用于指定缓存存活时间。


四、测试缓存效果

        启动Redis服务,运行文件6-8后,在浏览器中访问http://localhost:8080/book/findById/1,
查询图书信息,控制台输出信息和浏览器中查询到的图书信息,如图1-2和图1-3所示。

图1-2 查询图书控制台输出信息(1)

        从图 1-2 可以看出,控制台输出了一条查询语句,说明查询图书信息时发送对应的SQL到数据库进行查询。

图1-3 浏览器中查询到的图书信息(1)

         从图1-3可以看出,浏览器中展示了id为1的图书信息,说明图书查询成功。

        再次查询id为1的图书信息,控制台输出信息如图1-4所示。

图1-4 浏览器中查询到的图书信息(2)

        从图1-4可以看出,控制台没有输出新的SQL信息,说明此时查询到的图书信息是从缓存中获取的,而没有查询数据库。
        打开RESP.app,Redis中的数据如图1-5所示。

图1-5 Redis中的数据

        从图1-5可以看出,Redis中存放了一个“book_”开头的键,该键对应的数据类型为String类型。由于Redis默认的序列化机制为JDK的序列化策略,所以存储的内容展示形式为二进制。


📢 互动时间
        本文的代码和思路是否解决了你的问题?欢迎在评论区分享你的想法或疑问!无论是更好的实现方式,还是遇到的其他问题,都可以详细描述,我会第一时间与你交流探讨。你的点赞/收藏是我持续创作的动力,技术无边界,让我们一起进步!🚀💬

http://www.dtcms.com/a/442114.html

相关文章:

  • 湘潭做网站品牌磐石网络wordpress 柚子皮
  • 前端实战开发(二):React + Canvas 网络拓扑图开发:6 大核心问题与完整解决方案
  • 【C语言数据结构】第2章:线性表(2)--线性表的顺序存储结构
  • 计算机操作系统--进程:共享内存和管道的差异
  • 深圳移动网站建设公司上海建筑工程有限公司
  • 【Linux】入门指南:基础指令详解Part One
  • 使用 Docker 部署 Nginx 教程
  • 重庆做网站微信的公司上海平面网站
  • 整站优化seo公司哪家好千峰网课
  • C语言指针应用的经典案例
  • C++篇(11)继承
  • 小迪web自用笔记54
  • 网站logo如何做清晰佛山seo优化电话
  • 词袋模型BoW
  • 数据驱动AI实战:从统计学习方法到业务落地的核心方法论
  • 网站开发需求大吗第一次做怎么放进去视频网站
  • display vlan verbose 概念及题目
  • 深度学习写作:model与module; 试验与实验
  • 企业 网站 程序微信小程序开发平台
  • ViT实战二:Cls token
  • AI + 制造:从技术试点到产业刚需的 2025 实践图鉴
  • JVM内存模型剖析
  • 山东网站制作哪家好网站优化方案和实施
  • 工作中使用到的单词(软件开发)_第五版
  • Vue3 Router高级用法—菜单动态渲染
  • 西安seo网站排名优化公司网站快速推广排名技巧
  • LeetCode算法日记 - Day 62: 黄金矿工、不同路径III
  • 济南建设工程信息网站asp.net实用网站开发
  • deepseek 的对话json导出成word和pdf
  • php 网站 项目如何用wordpress搭建个人博客