ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SpringCache缓存常用注解

2021-11-14 09:03:38  阅读:146  来源: 互联网

标签:缓存 SpringCache userId user 注解 public UserInfo


@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);
    }
}

标签:缓存,SpringCache,userId,user,注解,public,UserInfo
来源: https://blog.csdn.net/m0_46357303/article/details/121303716

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有