SpringBoot 整合Redis

在Spring Boot中,你可以使用以下注解来实现Redis的整合:

  1. @EnableCaching: 在启动类上添加该注解,开启Spring的缓存支持。

  2. @Cacheable: 标记方法的返回值可被缓存。当缓存中存在相同 key 的数据时,直接从缓存中获取数据,否则执行方法并将返回值存入缓存。

  3. @CachePut: 标记方法的返回值将会被更新到缓存中。即使缓存中已经存在相同 key 的数据,也会执行方法并将更新后的返回值存入缓存。

  4. @CacheEvict: 从缓存中移除指定 key 的数据。可以通过设置不同的属性来控制是在方法执行前移除还是在方法执行后移除。

  5. @Caching: 在方法级别上进行复杂的缓存操作,如组合多个缓存注解的行为。

  6. @CacheConfig: 配置全局的缓存配置,可以在类级别上设置缓存的一些公共配置,如缓存名称、缓存管理器等。

下面是一个简单的示例:

java 复制代码
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;

@Service
public class UserService {

    @Cacheable(value = "users", key = "#userId")
    public User getUserById(String userId) {
        // 从数据库或其他数据源中获取用户信息
        return userRepository.findById(userId);
    }
    
    // ...
}

上述示例中,@Cacheable 注解标记的方法 getUserById 可以被缓存,当传入相同的 userId 参数时,会直接从缓存中获取数据,而不会执行方法体内的代码。

需要注意的是,为了使用Redis作为缓存管理器,你需要在项目中引入相应的依赖,并在配置文件中配置Redis连接信息。例如,可以使用 spring-boot-starter-data-redis 依赖,并在 application.propertiesapplication.yml 中配置 Redis 相关属性。

相关推荐
better_liang42 分钟前
每日Java面试场景题知识点之-消息队列MQ核心场景与实战
java·面试·kafka·消息队列·rabbitmq·rocketmq·mq
小江的记录本1 小时前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
小马爱打代码1 小时前
Spring源码 第四篇:Spring 5 源码深度拆解:AOP 全流程核心原理
java·后端·spring
better_liang1 小时前
每日Java面试场景题知识点之-SpringBoot启动流程
java·面试·springboot·源码解析·启动流程
RyFit2 小时前
Java + AI 实战:Spring AI 从入门到企业级落地
java·人工智能·spring
洛水水3 小时前
Redis 分布式锁详解:实现与缺陷
数据库·redis·分布式
ZhengEnCi3 小时前
01-如何监听接口调用情况?
java·spring boot·后端
JAVA面经实录9174 小时前
MyBatis学习体系
java·mybatis
java1234_小锋4 小时前
在 Spring AI 中如何实现函数调用(Function Calling)?请说明其基本原理和应用场景。
java·人工智能·spring
苏渡苇4 小时前
Spring Cloud Alibaba:将 Sentinel 熔断限流规则持久化到 Nacos 配置中心
数据库·spring boot·mysql·spring cloud·nacos·sentinel·持久化