SpringCache缓存常用注解

@Cacheable

注解表示这个方法有了缓存功能,方法的返回值就会被缓存下来,下一次调用该方法之前会去检查缓存中是否有值,如果有值就直接返回,不再调用此方法了。如果缓存中没有值才会调用此方法,并将结果缓存起来

@Cacheable(value = "user",key = "#userId")
public UserInfo queryById(Long userId) {
    //从数据库查询
    UserInfo user = new UserInfo();
    user.setId(userId);
    user.setNickname("john");
    return user;
}

@CachePut

不提供查询功能,加了@CachePut注解的方法会把此方法的返回值put到缓存里缓存起来,以便使其他地方使用

@CacheEvict

使用了@CacheEvict直接的方法会清空指定的缓存

@CacheEvict(value = "user",key = "#userId")
public void update(Long userId) {
    //修改用户
    UserInfo user = new UserInfo();
    user.setId(userId);
    user.setNickname("john");
}

@Caching

Java代码中同一个方法只能配置一个相同的注解配置,若想操作多个缓存可以使用@Caching

想要使用此注解需要在启动类上加上@EnableCaching

@SpringBootApplication
@EnableCaching  //开启缓存
public class DemoApplication{
 
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

猜你喜欢

转载自blog.csdn.net/m0_46357303/article/details/121303716