转摘: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,数据的key为person.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数据做了缓存”。这表明程序未调用该方法,页面数据直接从缓存中取得。
相关推荐
对于其他技术,视频包含快速入门讲解; 课程目录: 00、尚硅谷_SpringBoot_源码、课件 1、尚硅谷-SpringBoot高级-缓存-JSR107简介 2、尚硅谷-SpringBoot高级-缓存-Spring缓存抽象简介 3、尚硅谷-SpringBoot高级-...
- 功能完善:支持多种技术栈,如Web开发、数据库连接等。 #### 2. 环境配置 - **开发工具**:推荐使用IntelliJ IDEA或Eclipse。 - **构建工具**:推荐使用Maven或Gradle。 - **版本控制**:推荐使用Git进行版本...
它集成了大量常用的第三方库,如数据访问、安全、缓存、消息等,并且这些库大多数可以实现零配置或极少配置的开箱即用。 Spring Boot的核心理念在于"约定优于配置",通过自动配置和起步依赖(starter)来简化项目构建...
本资源包"springboot从入门到精通"旨在帮助初学者和进阶者全面掌握SpringBoot的核心概念和技术。 一、SpringBoot基础 SpringBoot的基础部分涵盖了如何创建第一个SpringBoot项目,通过起步依赖(Starters)简化Maven...
《SpringBoot MVC完整版教程》是一份详尽的IT学习资料,主要涵盖了Spring Boot的核心概念、Spring MVC的使用以及相关的扩展技术,如Spring、Spring Cloud和Docker等。本教程旨在帮助开发者深入理解Spring Boot的工作...
SpringBoot入门教程旨在引导开发者快速上手SpringBoot框架,它简化了Spring应用的初始搭建以及开发过程。在本文中,我们将逐步介绍如何使用Spring官方工具创建一个基础的SpringBoot项目,以及项目的基本结构。 首先...
在项目中,缓存技术被用于提高数据读取效率。SpringBoot支持多种缓存管理机制,如EhCache、Hazelcast、Infinispan等,本项目可能使用了Redis或H2数据库作为缓存存储。通过`@Cacheable`、`@CacheEvict`等注解,可以...
本入门自学笔记将带你一步步了解并掌握Spring Boot的核心概念和实践技巧。 ### 01 SpringBoot简介 #### 1.1 Spring Boot 的优势 - **简化的起步**:Spring Boot 提供了起步依赖(starter),可以通过添加相应的Maven...
以上就是这个 "springboot入门项目" 所涵盖的主要技术点。通过学习和实践这个项目,你可以掌握 Spring Boot 的基本用法,了解如何集成 Redis 实现缓存功能,以及如何进行环境敏感的配置,为后续的 Spring Boot 开发...
- 可以轻松集成Redis、EhCache等缓存技术。 3. 消息服务整合 - SpringBoot支持整合RabbitMQ、Kafka等消息中间件。 - 通过简单的配置即可实现消息生产者和消费者的服务。 五、自动装配原理 1. @SpringBoot...
- **一站式的解决方案**:Spring Boot提供了对J2EE开发的全面支持,包括数据访问、安全、缓存、消息等众多功能,无需额外集成其他技术。 - **自动配置**:Spring Boot对主流的开发框架如Spring MVC、Data、...
**SpringBoot基础知识** SpringBoot是由Pivotal团队...通过"spring-boot-hello"这样的基础案例,初学者可以快速理解SpringBoot的工作原理,并进一步深入学习Spring生态的各种技术,如Spring Data、Spring Security等。
SpringBoot、SpringCache和Redis是Java开发中常用的三大技术组件,它们在构建高效、可扩展的应用程序中扮演着重要角色。让我们深入探讨一下这三个技术及其整合使用的入门实例。 SpringBoot是由Pivotal团队开发的...
课程内容包括拦截器、监听器、缓存、安全认证、分词插件和消息队列等高级主题。 完成本系列课程后,学习者将能够快速理解并掌握Spring Boot的关键技术,为其在微服务领域的进一步学习和实践打下坚实的基础。
对于性能优化,如缓存技术Redis的集成、Spring Boot的Profile管理、配置YAML文件等也可能有所涉及。 总之,这份“springboot学习入门提升笔记”全面覆盖了SpringBoot的基础和进阶知识,无论是初学者还是有一定经验...
1. **快速入门**:提供了快速构建应用的方式,例如通过`@SpringBootApplication`注解即可启动Spring应用。 2. **开箱即用**:包含许多默认设置,如内嵌的Tomcat服务器,自动配置的Spring Beans等。 3. **非功能性...
通过本课程的学习,学生能够理解并掌握 Spring Boot 框架的基础知识,同时能够掌握 Spring Boot 与常用第三方技术的整合实现实际开发中的业务需求,包括实现 Web 开发、数据访问、缓存管理、安全管理、消息服务、...
- SpringBoot可以方便地集成JdbcTemplate、MyBatis、Spring Data JPA等数据访问技术。 - 对于多数据源的支持,SpringBoot提供了配置和切换数据源的机制。 8. **事务管理** - SpringBoot整合Spring的事务管理,...
- **示例**:`SpringBootServletInitializer`类自动配置嵌入式Servlet容器。 - **配置文件**: - **application.properties**/ **application.yml**:主要配置文件,支持多种格式。 - **配置项**:如服务器端口、...