@Cacheable与@CachePut的区别
时间: 2024-04-19 18:22:23 浏览: 86
详解Spring缓存注解@Cacheable,@CachePut , @CacheEvict使用
@Cacheable和@CachePut是Spring框架中用于缓存的注解,它们的作用是提高系统性能,减少对数据库或其他外部资源的访问。
@Cacheable注解用于标记方法的返回值可以被缓存,当再次调用该方法时,会先从缓存中获取结果,如果缓存中存在,则直接返回结果,不再执行方法体内的代码。如果缓存中不存在,则执行方法体内的代码,并将结果存入缓存中。
@CachePut注解也用于标记方法的返回值可以被缓存,但与@Cacheable不同的是,@CachePut每次都会执行方法体内的代码,并将结果存入缓存中,即使缓存中已存在相同的键值对。
总结一下区别:
- @Cacheable注解会先检查缓存中是否存在结果,如果存在则直接返回,不执行方法体内的代码;@CachePut注解每次都会执行方法体内的代码。
- @Cacheable注解适用于查询操作,可以减少对数据库等外部资源的访问;@CachePut注解适用于更新操作,每次都会将结果存入缓存中。
阅读全文