Spring Boot与Redis的集成

  Redis是一个完全开源免费的、遵守BSD协议的、内存中的数据结构存储,它既可以作为数据库,也可以作为缓存和消息代理。因其性能优异等优势,目前已被很多企业所使用,但通常在企业中我们会将其作为缓存来使用。Spring Boot对Redis也提供了自动配置的支持,接下来本小节将讲解如何在Spring Boot项目中使用Redis。

添加Redis缓存

  添加Redis依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-redis</artifactId>
    <version>1.4.4.RELEASE</version>
</dependency>

 

  添加@EnableCaching注解开启缓存:

复制代码
@SpringBootApplication
@EnableCaching  //开启缓存
public class SpringbootApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootApplication.class, args);
    }

}
复制代码

 

  添加@Cacheable注解来支持缓存:

@Cacheable(value="UserCache",key="'user.getAllUsers'")
@Override
public List<User> getAllUsers() {
    return userMapper.getAllUsers();
}

 

  使实体类实现可序列化接口:

public class User implements Serializable {

    private Integer id;
    private String username;
    private String address;
    ...

 

  指定Redis缓存主机地址:

spring.redis.host=127.0.0.1
spring.redis.port=6379

 

  启动项目,测试缓存使用:
  在没有使用Redis缓存之前,每刷新一次页面,都会执行一次查询数据库的操作,添加缓存后,会发现控制台中只出现了一次查询语句,这也就说明所配置的Redis缓存已经生效。

 

清除Redis缓存

  Redis中的缓存数据不会一直存在,当执行添加、更新和删除操作后,数据库中的数据会发生变化,而Redis缓存中的数据同样也需要进行相应的变化。为了保证Redis缓存中的数据与数据库中的一致,通常需要在执行添加、更新和删除操作之前清除缓存,然后在下一次执行查询操作时,将新的数据存储到Redis缓存中。

  @CacheEvict注解清除缓存:

@CacheEvict(value="UserCache",key="'user.getAllUsers'")
@Override
public void deleteUser(Integer id) {
    System.out.println("id:" + id);
    userMapper.delete(id);
}

 

posted @   草木物语  阅读(428)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示