SpringBoot+Redis+@Cacheable实现缓存功能

文章详细介绍了如何使用SpringBoot结合Redis和@Cacheable注解实现缓存功能,包括添加依赖、YML配置、启用缓存、Redis配置(如设置过期时间和key策略)、业务逻辑实现(如UserController和UserService)以及测试案例,展示了@Cacheable和@CachePut的区别和使用场景。

一、pom文件加入Redis与cache的依赖和yml配置

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>

        <!-- 如果需要集成redis,需要再加入redis包 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- spring2.X集成redis所需common-pool2-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

        <!-- 数据库驱动 -->
        <!-- 如果是springboot项目可以不用自己指定版本号,spring boot给我们定义了 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
           <!-- <version>5.1.47</version> -->
        </dependency>
        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.1</version>
        </dependency>
        <!--spring-boot起步依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
server:
  port: 9003
spring:
  datasource:
    username: root
    password: root1234
    url: jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
    driver-class-name: com.mysql.jdbc.Driver
  redis:
    host: 127.0.0.1
    port: 6379
  cache:
    type: redis
    redis:
      # 缓存超时时间(毫秒ms)
      time-to-live: 60000
      # 是否缓存空值
      cache-null-values: true
# mybatis-plu配置
mybatis-plus:
  configuration:
    # map-underscore-to-camel-case为true可以将数据库的带下划线“”给去掉然后映射到实体类的属性上去。
    # sql执行的日志(包含sql操作的参数日志)
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  #指定xml映射位置
  mapper-locations: classpath*:mapper/*.xml
  #指是否对MyBatis xml 配置文件进行存在检查/默认值为false
  check-config-location: true
  #设置别名包扫描路径,通过该属性可以给包中的类注册别名,多个包以逗号分隔
  type-aliases-package: com.it.pojo

二、EnableCaching允许使用注解进行缓存

/**
 * 主启动类
 * EnableCaching允许使用注解进行缓存
 * @author shaohua
 */
@EnableCaching
@SpringBootApplication
@MapperScan(basePackages = "com.it.mapper")
public class Application
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值