`

SpringBoot入门(十六)-缓存技术

 
阅读更多

转摘:http://blog.sina.com.cn/s/blog_c90ce4e0010329x8.html

在实际开发工作中,如果频繁查询数据库, 是不是会给数据库服务器带来很大的压力呢?

因此,我们需要对查询出来的数据进行缓存, 这样客户端只要从数据库查询了一次数据,这批数据就会放入缓存中,以后再次查询时可以从缓存中读取,这样是不是会快很多呢?

SpringBoot支持很多种缓存方式:redis、guava、ehcahe、jcache等等。

下面我们使用SpringBoot最简单的缓存方式来对SpringBoot的缓存技术做一个简单的介绍(SpringBoot的版本是1.4.0.RELEASE)。

 

SpringBoot默认的缓存方式就是在内存中通过ConCurrentMap结构来进行数据的缓存。

1.      首先,新建一个SpringBoot工程,结构如下

 

2.      编辑POM.XML,添加相关依赖包

 

3.      编辑application.properties文件,对数据库连接参数进行配置​

4.      编写实体类Person.java(此处省略了getter和setter方法)​

5.      编写数据库访问接口PersonRepository.java, 此处用了jap框架, 继承JpaRepository接口即可实现基本的数据库增删改查操作.​

6.      编写业务类接口PersonService.java,声明一些业务方法​

7.      编写业务接口实现类PersonServiceImpl.java​

注:   @CachePut 缓存新增的或者更新的数据到缓存中其中缓存名称为person,数据的keyperson.id

          @CacheEvict:  从缓存person中删除key为id的缓存数据

          @Cacheable: 读取缓存为person中key为id的缓存数据。

@CachePut@CacheEvict@Cacheable若未指定key, 则方法参数作为key保存到缓存中。

 

8.      编写访问控制器类PersonController.java

 

9.      编写程序入口

 注: 此处一定要加上@EnableCaching来开启SpringBoot的缓存支持

 

10.      测试访问:

       A.我们先保存一组数据到缓存中

            此时页面输出如下:​

           控制台输出如下:

        B.此时再次从页面上访问id=21的数据, 控制台不会再打印Hibernate的查询语句以及“为id、key为:21数据做了缓存”。这表明程序未调用该方法,页面数据直接从缓存中取得。

 

分享到:
评论

相关推荐

    128元尚硅谷Java视频教程_Spring Boot视频教程(下)整合篇

    对于其他技术,视频包含快速入门讲解; 课程目录: 00、尚硅谷_SpringBoot_源码、课件 1、尚硅谷-SpringBoot高级-缓存-JSR107简介 2、尚硅谷-SpringBoot高级-缓存-Spring缓存抽象简介 3、尚硅谷-SpringBoot高级-...

    Springboot入门到精通.pdf

    它集成了大量常用的第三方库,如数据访问、安全、缓存、消息等,并且这些库大多数可以实现零配置或极少配置的开箱即用。 Spring Boot的核心理念在于"约定优于配置",通过自动配置和起步依赖(starter)来简化项目构建...

    SpringBoot专栏教程-邮件.pdf

    - 功能完善:支持多种技术栈,如Web开发、数据库连接等。 #### 2. 环境配置 - **开发工具**:推荐使用IntelliJ IDEA或Eclipse。 - **构建工具**:推荐使用Maven或Gradle。 - **版本控制**:推荐使用Git进行版本...

    springboot从入门到精通

    本资源包"springboot从入门到精通"旨在帮助初学者和进阶者全面掌握SpringBoot的核心概念和技术。 一、SpringBoot基础 SpringBoot的基础部分涵盖了如何创建第一个SpringBoot项目,通过起步依赖(Starters)简化Maven...

    springboot-mvc完整版教程(图文结合)

    《SpringBoot MVC完整版教程》是一份详尽的IT学习资料,主要涵盖了Spring Boot的核心概念、Spring MVC的使用以及相关的扩展技术,如Spring、Spring Cloud和Docker等。本教程旨在帮助开发者深入理解Spring Boot的工作...

    SpringBoot入门最详细教程.doc

    SpringBoot入门教程旨在引导开发者快速上手SpringBoot框架,它简化了Spring应用的初始搭建以及开发过程。在本文中,我们将逐步介绍如何使用Spring官方工具创建一个基础的SpringBoot项目,以及项目的基本结构。 首先...

    SpringBoot入门DEMO,基于SpringBoot实现仿小滴课堂项目源代码

    在项目中,缓存技术被用于提高数据读取效率。SpringBoot支持多种缓存管理机制,如EhCache、Hazelcast、Infinispan等,本项目可能使用了Redis或H2数据库作为缓存存储。通过`@Cacheable`、`@CacheEvict`等注解,可以...

    Java Springboot入门自学笔记

    本入门自学笔记将带你一步步了解并掌握Spring Boot的核心概念和实践技巧。 ### 01 SpringBoot简介 #### 1.1 Spring Boot 的优势 - **简化的起步**:Spring Boot 提供了起步依赖(starter),可以通过添加相应的Maven...

    springboot入门项目

    以上就是这个 "springboot入门项目" 所涵盖的主要技术点。通过学习和实践这个项目,你可以掌握 Spring Boot 的基本用法,了解如何集成 Redis 实现缓存功能,以及如何进行环境敏感的配置,为后续的 Spring Boot 开发...

    SpringBoot基础.pdf

    - 可以轻松集成Redis、EhCache等缓存技术。 3. 消息服务整合 - SpringBoot支持整合RabbitMQ、Kafka等消息中间件。 - 通过简单的配置即可实现消息生产者和消费者的服务。 五、自动装配原理 1. @SpringBoot...

    全套SpringBoot入门到项目实战课程.pdf

    - **一站式的解决方案**:Spring Boot提供了对J2EE开发的全面支持,包括数据访问、安全、缓存、消息等众多功能,无需额外集成其他技术。 - **自动配置**:Spring Boot对主流的开发框架如Spring MVC、Data、...

    SpringBoot的入门代码,代码有详细的注解

    **SpringBoot基础知识** SpringBoot是由Pivotal团队...通过"spring-boot-hello"这样的基础案例,初学者可以快速理解SpringBoot的工作原理,并进一步深入学习Spring生态的各种技术,如Spring Data、Spring Security等。

    springboot_springcache_redis入门实例

    SpringBoot、SpringCache和Redis是Java开发中常用的三大技术组件,它们在构建高效、可扩展的应用程序中扮演着重要角色。让我们深入探讨一下这三个技术及其整合使用的入门实例。 SpringBoot是由Pivotal团队开发的...

    springboot学习入门提升笔记.rar

    对于性能优化,如缓存技术Redis的集成、Spring Boot的Profile管理、配置YAML文件等也可能有所涉及。 总之,这份“springboot学习入门提升笔记”全面覆盖了SpringBoot的基础和进阶知识,无论是初学者还是有一定经验...

    2.2 SpringBoot与Shiro整合-权限管理实战-课堂笔记.docx

    1. **快速入门**:提供了快速构建应用的方式,例如通过`@SpringBootApplication`注解即可启动Spring应用。 2. **开箱即用**:包含许多默认设置,如内嵌的Tomcat服务器,自动配置的Spring Beans等。 3. **非功能性...

    SpringBoot企业级开发教程-教学大纲.doc

    通过本课程的学习,学生能够理解并掌握 Spring Boot 框架的基础知识,同时能够掌握 Spring Boot 与常用第三方技术的整合实现实际开发中的业务需求,包括实现 Web 开发、数据访问、缓存管理、安全管理、消息服务、...

    SpringBoot新手学习手册

    - SpringBoot可以方便地集成JdbcTemplate、MyBatis、Spring Data JPA等数据访问技术。 - 对于多数据源的支持,SpringBoot提供了配置和切换数据源的机制。 8. **事务管理** - SpringBoot整合Spring的事务管理,...

    springboot 实战项目教程.txt

    - **示例**:`SpringBootServletInitializer`类自动配置嵌入式Servlet容器。 - **配置文件**: - **application.properties**/ **application.yml**:主要配置文件,支持多种格式。 - **配置项**:如服务器端口、...

Global site tag (gtag.js) - Google Analytics