SpringBoot中的缓存支持(一)注解配置与EhCache使用.docxVIP

SpringBoot中的缓存支持(一)注解配置与EhCache使用.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spring Boot中的缓存支持(一)注解配置与 EhCache 使用 Spring Boot 随着时间的积累,应用的使用用户不断增加,数据规模 也越来越大,往往数据库查询操作会成为影响用户使用体验 的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之 Spring 3 开始提供了强大的基于注解的缓存支持,可以 通过注解配置方式低侵入的给原有Spring 应用增加缓存功能,提高数据访问性能 通过注解配置方式低侵入的给原有 Spring 应用增加缓存功 能,提高数据访问性能 台匕 在 Spring Boot 中对于缓存的支持,提供了一系列的自动化 配置,使我们可以非常方便的使用缓存。下面我们通过一个 简单的例子来展示,我们是如何给一个既有应用增加缓存功 能的。 快速入门 首先,下载样例工程 chapter3-2-2 。本例通过 spring-data-jpa 实现了对 User 用户表的一些操作,若没有这个基础,可以 先阅读 《使用 Spring-data-jpa 简化数据访问层》 一文对数据 访问有所基础。 准备工作 为了更好的理解缓存,我们先对该工程做一些简单的改造。 application.properties 文件中新增 spring.jpa.properties.hibernate.show_sql=true ,开启 hibernate 对 sql 语句的打印 修改单元测试 ApplicationTests ,初始化插入 User 表一条用 户名为 AAA ,年龄为 10 的数据。并通过 findByName 函数 完成两次查询。 @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(Application.class) public class ApplicationTests { @Autowired private UserRepository userRepository; @Before public void before() { userRepository.save(new User(AAA, 10)); @Test public void test() throws Exception { User u1 = userRepository.findByName(AAA); System.out.println( 第一次查询: + u1.getAge()); User u2 = userRepository.findByName(AAA); System.out.println( 第二次查询: + u2.getAge()); 执行单元测试,我们可以在控制台中看到下面内容。 Hibernate: insert into user (age, name) values (?, ?) Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.name as name3_0_ from user user0_ where user0_.name=? 第一次查询: 10 Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.name as name3_0_ from user user0_ where user0_.name=? 第二次查询: 10 在测试用例执行前,插入了一条 User 记录。然后每次 } } findByName 调用时,都执行了一句 select 语句来查询用户 名为 AAA 的记录。 引入缓存 在 pom.xml 中引入 cache 依赖,添加如下内容: org.springframework.boot spring-boot-starter-cache 在 Spring Boot 主类中增加 @EnableCaching 注解开启缓存 功能,如下: @SpringBootApplication @EnableCaching public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); 在数据访问接口中 @CacheConfig(cacheNames = users) public interface UserRepository extends JpaRepository { @Cacheable User findByName(String name); 再来执行

文档评论(0)

zhaohuifei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档