赞
踩
缓存是分布式系统中的重要组件,主要解决数据库数据的高并发访问问题。在实际开发中,尤其是用户 访问量较大的网站,为了提高服务器访问性能、减少数据库的访问压力、提高用户体验,使用缓存显得 尤为重要。Spring Boot对缓存提供了良好的支持
默认缓存管理
Spring框架支持透明地向应用程序添加缓存并对缓存进行管理,其管理缓存的核心是将缓存应用于操作 数据的方法中,从而减少操作数据的次数,同时不会对程序本身造成任何干扰。Spring Boot继承了Spring框架的缓存管理功能,通过使用@EnableCaching注解开启基于注解的缓存支持,Spring Boot可以启动缓存管理的自动化配置
Spring Boot默认缓存体验
1.使用@EnableCaching注解开启基于注解的缓存支持,该注解通常会添加在项目启动类上
2.使用@Cacheable注解对数据操作方法进行缓存管理。将@Cacheable注解标注在CommentService类 的查询方法上,对查询结果进行缓存
这样我们就不会每次访问的时候都去数据库进行查询,大大节省了效率,只要查的数据一致,无论查多少次都只会进行一次查询,然后保存到缓存区,之后每次查询的数据都是从缓存中获取的
Spring Boot缓存注解介绍
1.@EnableCaching注解:@EnableCaching是由Spring框架提供的,Spring Boot框架对该注解进行了继承,该注解需要配置在类上(在Spring Boot中,通常配置在项目启动类上),用于开启基于注解的缓存支持。
2.@Cacheable注解:@Cacheable注解也是由Spring框架提供的,可以作用于类或方法(通常用在数据查询方法上),用于 对方法的查询结果进行缓存存储。@Cacheable注解的执行顺序是,先进行缓存查询,如果为空则进行 方法查询,并将结果进行缓存;如果缓存中有数据,不进行方法查询,而是直接使用缓存数据
cacheNames 缓存空间名 unless 条件成立则不缓存 key 指定id,默认为形参的具体指
#result 获取结果
3.@CachePut注解:@CachePut注解是由Spring框架提供的,可以作用于类或方法(通常用在数据更新方法上),该注解的 作用是更新缓存数据。@CachePut注解的执行顺序是,先进行方法调用,然后将方法结果更新到缓存 中
4.@CacheEvict注解;
@CacheEvict注解是由Spring框架提供的,可以作用于类或方法(通常用在数据删除方法上),该注解 的作用是删除缓存数据。@CacheEvict注解的默认执行顺序是,先进行方法调用,然后清除缓存。 @CacheEvict注解提供了多个属性,这些属性与@Cacheable注解的属性基本相同。 除此之外,@CacheEvict注解额外提供了两个特殊属性allEntries和beforeInvocation,其说明如下
1)allEntries属性:allEntries属性表示是否清除指定缓存空间中的所有缓存数据,默认值为false(即默认只删除指定key对应的缓存数据)。例如@CacheEvict(cacheNames="comment",allEntries= true)表示方法执行后会删除 缓存空间comment中所有的数据
2)beforeInvocation属性:beforeInvocation属性表示是否在方法执行之前进行缓存清除,默认值为false(即默认在执行方法后再 进行领存清除)例如@CacheEvict(cacheNames="comment",beforeInvocation=true)表示会在方法执 行之前进行缓存清除。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。