SpringBoot-缓存技术1
来源:互联网 发布:网络dns未响应怎么解决 编辑:程序博客网 时间:2024/06/05 05:14
在实际开发工作中,如果频繁查询数据库, 是不是会给数据库服务器带来很大的压力呢?
因此,我们需要对查询出来的数据进行缓存, 这样客户端只要从数据库查询了一次数据,这批数据就会放入缓存中,以后再次查询时可以从缓存中读取,这样是不是会快很多呢?
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数据做了缓存”。这表明程序未调用该方法,页面数据直接从缓存中取得。
- SpringBoot-缓存技术1
- springboot的缓存技术
- springboot的缓存技术
- SpringBoot 缓存
- SpringBoot 缓存
- springboot 缓存
- SpringBoot集成Redis来实现缓存技术方案
- SpringBoot集成Redis来实现缓存技术方案
- SpringBoot集成Redis来实现缓存技术方案
- SpringBoot集成Redis实现缓存处理(Spring AOP技术)
- SpringBoot--使用redis缓存(1)
- springboot技术
- JAVA缓存技术(1)
- springboot 使用缓存
- springboot缓存 之 GuavaCacheManager
- springboot+redis作缓存
- springboot整合redis缓存
- Springboot中使用缓存
- JVM字节码
- ImageView完整显示图片
- 逗号运算符
- table在ie10中的错位
- Can't load AMD 64-bit .dll on a IA 32-bit platform的错误小细节
- SpringBoot-缓存技术1
- spring请求映射规则详解
- c语言 结构体和指针
- JAVA设计模式之工厂方法模式
- web工程中web.xml元素加载顺序以及配置实例
- Linux与JVM的内存关系分析
- Kaldi mono phone文件 0.mdl分析
- Java:创建Class对象的三种方式/
- 浅析Java虚拟机结构与机制