Redis实战-详细配置-优雅的使用Redis注解/RedisTemplate

当我们对redis的基本知识有一定的了解后,我们再通过实战的角度学习一下在SpringBoot环境下,如何优雅的使用redis。

我们通过使用SpringBoot内置的Redis注解(文章最后有解释)来操作User相关的信息,

再通过Redis工具类的方式操作Role相关信息来全面的学习Redis的使用。

嫌篇幅太长的 可以直接跳到2.6查看具体逻辑即可。

2. 开撸 2.1 项目结构

Redis实战-详细配置-优雅的使用Redis注解/RedisTemplate

结构说明:

├── src │   └── main │   ├── java │   │   └── com │   │   └── ldx │   │   └── redis │   │   ├── RedisApplication.java # 启动类 │   │   ├── config │   │   │   └── RedisConfig.java # redis 配置类 │   │   ├── constant │   │   │   └── CacheConstant.java # 缓存key常量类 │   │   ├── controller │   │   │   ├── RoleController.java # 角色管理控制器 │   │   │   └── UserController.java # 用户管理控制器 │   │   ├── entity │   │   │   ├── SysRole.java # 角色entity │   │   │   └── SysUser.java # 用户entity │   │   ├── mapper │   │   │   ├── SysRoleMapper.java # 角色持久层 │   │   │   └── SysUserMapper.java # 用户持久层 │   │   ├── service │   │   │   ├── SysRoleService.java # 角色接口层 │   │   │   ├── SysUserService.java # 用户接口层 │   │   │   └── impl │   │   │   ├── SysRoleServiceImpl.java # 角色接口实现层 │   │   │   └── SysUserServiceImpl.java # 用户接口实现层 │   │   └── util │   │   └── RedisUtil.java # redis 工具类 │   └── resources │   └── application.yaml # 系统配置文件 └── pom.xml # 依赖管理 2.2 导入依赖 <?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>2.5.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.ldx</groupId> <artifactId>redis</artifactId> <version>0.0.1-SNAPSHOT</version> <name>redis</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!--spring-web--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- lettuce pool --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> </dependency> <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> <!-- mysql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- lombok 工具包 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> 2.3 项目基本配置 2.3.1 application.yaml spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: 123456 type: com.zaxxer.hikari.HikariDataSource # redis 配置 redis: # 地址 host: localhost # 端口,默认为6379 port: 6379 # 密码 password: # 连接超时时间 timeout: 10s lettuce: pool: # 连接池中的最小空闲连接 min-idle: 0 # 连接池中的最大空闲连接 max-idle: 8 # 连接池的最大数据库连接数 max-active: 8 # #连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1ms mybatis-plus: # 设置Mapper接口所对应的XML文件位置,如果你在Mapper接口中有自定义方法,需要进行该配置 mapper-locations: classpath*:mapper/*.xml # 设置别名包扫描路径,通过该属性可以给包中的类注册别名 type-aliases-package: com.ldx.redis.entity configuration: # 控制台sql打印 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 日志配置 logging: level: com.ldx.redis.service.impl: debug org.springframework: warn 2.3.2 启动类

@EnableCaching:激活缓存支持

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxfyy.html