springboot自带的缓存@EnableCaching用法
目录
- springboot自带的缓存@EnableCaching
- 1.@Cacheable添加缓存
- 2.@CacheEvict 清理缓存
- 使用springboot自带缓存步骤
- 1.在启动类XXXApplication
- 2.在service层需要使用缓存的方法
- 3.修改和删除数据时将缓存删除
springboot自带的缓存@EnableCaching
一般使用springboot自带缓存时,直接就在启动类里添加注解@EnableCaching 。
@EnableCaching她有两个经常使用的方法
1.@Cacheable添加缓存
这里的value 是该缓存的名称,可以随意写,而key要严格按照查询条件来写,比如这里是查询条件id.
@Cacheable(value = "gathering",key = "#id") public Gathering findById(String id) { return gatheringDao.findById(id).get(); }
查询数据库已有的数据,第一次缓存没有该数据,直接走数据库,然后存入缓存
第二次查询该数据,发现缓存中存在key已有的数据,直接走缓存不走数据库
2.@CacheEvict 清理缓存
/** * CacheEvict 清理缓存 * 删除 * @param id */ @CacheEvict(value = "gathering",key = "#id") public void deleteById(String id) { gatheringDao.deleteById(id); } /** * CacheEvict 清理缓存 * 修改 * @param gathering */ @CacheEvict(value = "gathering",key = "#gathering.id") public void update(Gathering gathering) { gatheringDao.save(gathering); }
Redis可以设置过期时间,springboot自带的缓存不可以。
使用springboot自带缓存步骤
1.在启动类XXXApplication
添加注解@EnableCaching注解,表示要使用springboot的缓存
2.在service层需要使用缓存的方法
添加@Cacheable注解value-全局的key,key-表示某一条记录的key,程序运行时会优先在缓存中根据value和key查找记录,找不到才会执行下面查询语句,执行查询语句后返回的数据会存到缓存中。
3.修改和删除数据时将缓存删除
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
SpringBoot缓存Ehcache的使用详解
目录 为什么引入缓存 SpringBoot抽象缓存 代码实现 添加缓存依赖 开启缓存 数据缓存 @Cacheable @CachePut @CacheEvict 集成EhCache 添加EhCache依赖 添加Ehcache相关配置 注解含义: 测试 spring缓存(EhCache)是在Spring3.1开始引入的,但是其本身只提供了缓存接口,不提供具体缓存的实现,其实现需要第三方缓存实现(Generic.EhCache.Redis等).EhCache.Redis比较常用,使用Redis的时候
-
SpringBoot学习之基于注解的缓存
目录 主要使用到的注解: 使用步骤 注解属性介绍 @Cacheable() 的属性值及释义: @CachPut属性值及释义: @CachEvict属性值及释义: @Caching 总结 主要使用到的注解: @Cacheable(放入缓存) 能够根据方法的请求参数对其结果进行缓存 @CachePut(修改缓存中的值) 能够根据方法的请求参数对其结果进行缓存,和 @Cacheable 不同的是,它每次都会触发真实方法的调用 @CachEvict(清除缓存) 能够根据一定的条件对缓存进行清空 使用步骤
-
springboot 缓存@EnableCaching实例
目录 springboot 缓存@EnableCaching Spring @EnableCaching的工作原理 springboot 缓存@EnableCaching 很多时候系统的瓶颈都在一些比较复杂的IO操作,例如读取数据库,如果一些比较稳定的数据,一般的解决方案就是用缓存.spring boot提供了比较简单的缓存方案.只要使用 @EnableCaching即可完成简单的缓存功能. 缓存的实现有多种实现,ConcurentHashMapCache , GuavaCache, EnCac
-
SpringBoot中默认缓存实现方案的示例代码
在上一节中,我带大家学习了在Spring Boot中对缓存的实现方案,尤其是结合Spring Cache的注解的实现方案,接下来在本章节中,我带大家通过代码来实现. 一. Spring Boot实现默认缓存 1. 创建web项目 我们按照之前的经验,创建一个web程序,并将之改造成Spring Boot项目,具体过程略. 2. 添加依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artif
-
springboot自带的缓存@EnableCaching用法
目录 springboot自带的缓存@EnableCaching 1.@Cacheable添加缓存 2.@CacheEvict 清理缓存 使用springboot自带缓存步骤 1.在启动类XXXApplication 2.在service层需要使用缓存的方法 3.修改和删除数据时将缓存删除 springboot自带的缓存@EnableCaching 一般使用springboot自带缓存时,直接就在启动类里添加注解@EnableCaching . @EnableCaching她有两个经常使用的方法
-
python自带缓存lru_cache用法及扩展的使用
目录 1. lru_cache的使用 1.1 参数详解 1.2 基本用法 1.3 进阶用法 2. functiontools.wrap装饰器对lru_cache的影响 2.1 多个装饰器装饰同一函数时的执行顺序 2.2 functiontools.wrap原理 2.3 使用wrap装饰器前后的变化 3. 自制简易的my_cache 3.1 lru_cache提供的功能 3.2 cache的核心部件 3.3 my_cache的实现 4. lru_cache缓存和redis缓存的区别 5. 总结 本
-
详解SpringBoot的三种缓存技术(Spring Cache、Layering Cache 框架、Alibaba JetCache 框架)
引言 前两天在写一个实时数据处理的项目,项目要求是 1s 要处理掉 1k 的数据,这时候显然光靠查数据库是不行的,技术选型的时候老大跟我提了一下使用 Layering-Cache 这个开源项目来做缓存框架. 之间问了一下身边的小伙伴,似乎对这块了解不多.一般也就用用 Redis 来缓存,应该是很少用多级缓存框架来专门性的管理缓存吧. 趁着这个机会,我多了解了一些关于 SpringBoot 中缓存的相关技术,于是有了这篇文章! 在项目性能需求比较高时,就不能单单依赖数据库访问来获取数据了,必
-
详解springboot整合ehcache实现缓存机制
EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. ehcache提供了多种缓存策略,主要分为内存和磁盘两级,所以无需担心容量问题. spring-boot是一个快速的集成框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 由于spring-boot无需任何样板化的配置文件,所以spring-boot集成一些其他框架时会有略微的
-
spring-boot整合ehcache实现缓存机制的方法
EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider. ehcache提供了多种缓存策略,主要分为内存和磁盘两级,所以无需担心容量问题. spring-boot是一个快速的集成框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置. 由于spring-boot无需任何样板化的配置文件,所以spring-boot集成一些其他框架时会有略微的
-
浅谈springboot中tk.mapper代码生成器的用法说明
问:什么是tk.mapper? 答:这是一个通用的mapper框架,相当于把mybatis的常用数据库操作方法封装了一下,它实现了jpa的规范,简单的查询更新和插入操作都可以直接使用其自带的方法,无需写额外的代码. 而且它还有根据实体的不为空的字段插入和更新的方法,这个是非常好用的哈. 而且它的集成非常简单和方便,下面我来演示下使用它怎么自动生成代码. pom中引入依赖,这里引入tk.mybatis.mapper的版本依赖是因为在mapper-spring-boot-starter的新版本中没有
-
springboot使用Redis作缓存使用入门教程
1.依赖与数据库设置 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifact
-
Springboot 集成spring cache缓存的解决方案
目录 一.为什么要做缓存 二.常用缓存操作流程 三.整合Spring Cache 四.在ArticleController类上实现一个简单的例子 五.更改Redis缓存的序列化方式 一.为什么要做缓存 提升性能 绝大多数情况下,关系型数据库select查询是出现性能问题最大的地方.一方面,select 会有很多像 join.group.order.like 等这样丰富的语义,而这些语义是非常耗性能的:另一方面,大多数应用都是读多写少,所以加剧了慢查询的问题. 分布式系统中远程调用也会耗很多性能,
-
SpringBoot使用Caffeine实现缓存的示例代码
目录 为什么要在应用程序中添加缓存 在Spring Boot应用程序中实现缓存 SpringBoot提供了什么缓存支持? 添加生成依赖项 缓存配置 缓存方法结果 测试缓存是否正常工作 为什么缓存有时会很危险 缓存更新/失效 缓存复制 嵌入式缓存 远程缓存服务器 缓存自定义 缓存密钥 条件缓存 @CachePut 缓存失效 在本博客中,我们将探讨如何使用Spring的缓存框架向任何Spring Boot应用程序添加基本缓存支持,如果没有正确实现,还将探讨缓存的一些问题.最后但并非最不重要的一点是,
随机推荐
- 把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
- javascript框架设计读书笔记之数组的扩展与修复
- Javascript创建类和对象详解
- 让IIS建立的站点默认是.net 2.0的,而不是.net 1.1的代码
- windows2003下使用asp WScript.Shell的设置方法
- Java中的常量避免反模式的方法
- 详解Spring Aop实例之xml配置
- JS网页播放声音实现代码兼容各种浏览器
- 数据库Mysql性能优化详解
- PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
- asp的通用数据分页类
- Android编程之高效开发App的10个建议
- 兼容各大浏览器的JavaScript阻止事件冒泡代码
- 使用node+vue.js实现SPA应用
- JSP迅速入门
- php chr() ord()中文截取乱码问题解决方法
- JQuery在光标位置插入内容的实现代码
- Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
- javascript 浏览器检测代码精简版
- javascript的几种写法总结