Spring Boot中使用Redis
2024-09-05 07:17:33
一、定义工程
创建一个spring boot模块
二、修改pom文件
在pom文件中添加Spring Boot与Redis整合依赖
-
<dependencies>
-
<!--spring boot与redis整合依赖-->
-
<dependency>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-starter-data-redis</artifactId>
-
</dependency>
-
-
<dependency>
-
<groupId>org.projectlombok</groupId>
-
<artifactId>lombok</artifactId>
-
</dependency>
-
-
<!--mybatis与spring boot整合依赖-->
-
<dependency>
-
<groupId>org.mybatis.spring.boot</groupId>
-
<artifactId>mybatis-spring-boot-starter</artifactId>
-
<version>1.3.2</version>
-
</dependency>
-
-
<!--mysql驱动-->
-
<dependency>
-
<groupId>mysql</groupId>
-
<artifactId>mysql-connector-java</artifactId>
-
<version>5.1.47</version>
-
</dependency>
-
-
<!-- druid驱动 -->
-
<dependency>
-
<groupId>com.alibaba</groupId>
-
<artifactId>druid</artifactId>
-
<version>1.1.12</version>
-
</dependency>
-
-
<!--tomcat内置的JSP解析器-->
-
<dependency>
-
<groupId>org.apache.tomcat.embed</groupId>
-
<artifactId>tomcat-embed-jasper</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-test</artifactId>
-
<scope>test</scope>
-
</dependency>
-
</dependencies>
-
-
<build>
-
<resources>
-
<!--注册dao包下mybatis映射文件为资源目录-->
-
<resource>
-
<directory>src/main/java</directory>
-
<includes>
-
<include>**/*.xml</include>
-
</includes>
-
</resource>
-
<!--注册webapp目录为资源目录-->
-
<resource>
-
<directory>src/main/webapp</directory>
-
<targetPath>META-INF/resources</targetPath>
-
<includes>
-
<include>**/*.*</include>
-
</includes>
-
</resource>
-
</resources>
-
-
<plugins>
-
<plugin>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-maven-plugin</artifactId>
-
</plugin>
-
</plugins>
-
</build>
三、修改主配置文件
在主配置文件中添加如下内容:
-
# 视图的前辍与后辍
-
spring:
-
mvc:
-
view:
-
prefix: /
-
suffix: .jsp
-
-
# 注册数据源
-
datasource:
-
type: com.alibaba.druid.pool.DruidDataSource
-
driver-class-name: com.mysql.jdbc.Driver
-
url: jdbc:mysql:///test?useUnicode=true&characterEncoding=utf-8
-
username: root
-
password: root
-
-
#编码设置
-
http:
-
encoding:
-
force: true
-
charset: utf-8
-
enabled: true
-
redis:
-
host: 39.97.176.160
-
port: 6379
-
cache:
-
type: redis # 指定缓存类型
-
cache-names: realTimeCache # 指定缓存空间名称,随意
-
-
-
server:
-
tomcat:
-
uri-encoding: UTF-8
-
-
mybatis:
-
# 注册映射文件
-
mapper-locations: classpath:com/abc/dao/*.xml
-
# 注册实体类别名
-
type-aliases-package: com.abc.bean
四、修改实体类Student
由于要将查询的实体类对象缓存到Redis,Redis要求实体类必须序列化。所以需要实体类实现序列化接口
五、修改页面
(1) 修改index页面
(2) 修改welcome.jsp页面
六、 修改Controller类
七、修改Service接口
八、修改Service接口实现类
九、修改Dao接口
十、修改映射文件
十一、测试
注册会清空作用域realTimeCache缓存数据。
查询第一次会缓存信息,后面从Redis获取。
其他
高并发下访问Redis,存在什么问题?存在三个问题
- 缓存穿透:为DB查询为null的数据预设一个值
- 缓存雪崩:提前规划好缓存到期时间
- 热点缓存:双重检测锁机制
最新文章
- .net预览功能
- android系统自带的日期、时间对话框的用法
- JAVA源码走读(二)二分查找与Arrays类
- .Net反射机制分析和使用
- WebLogic Exception
- Samba服务详解
- Centos 7安装gvim
- flac文件提取专辑封面手记
- java安全编程
- peewee 通俗易懂版
- 在Laravel中使用mongoDB
- 4. Tomcat内存溢出解决
- [个人项目] echarts 实现数据(tooltip)自动轮播插件
- 【Java】Java复习笔记-第四部分
- @media screen
- vim with space-vim
- Virtual Box下安装Oracle Linux 6.3
- JVM内存—堆(heap)栈(stack)方法区(method) (转)
- Java代码加密与反编译(二):用加密算法DES修改classLoader实现对.class文件加密
- JS小案例(基础好烦恼少)----持续更新
热门文章
- Part 21 to 22 AngularJS anchorscroll
- jsonpath语法的基本使用
- R数据分析:潜类别轨迹模型LCTM的做法,实例解析
- liunx下安装mysql(8.0.27)
- [loj3329]有根树
- [loj3300]组合数问题
- k8s statefulset controller源码分析
- NFLSOJ 1072 - 【2021 六校联合训练 NOIP #1】异或(FWT+插值)
- P7708「Wdsr-2.7」八云蓝自动机 Ⅰ
- EXCEL如何用公式提取一列中的唯一值和不重复值