当前位置: 首页 > news >正文

推广软件的网站aso优化公司

推广软件的网站,aso优化公司,做门户论坛与网站的区别,广州建设网站技术1. 介绍 Spring Cache 是一个框架#xff0c;实现了基于注解的缓存功能#xff0c;只需要简单地加一个注解#xff0c;就能实现缓存功能。 Spring Cache 提供了一层抽象#xff0c;底层可以切换不同的缓存实现#xff0c;例如#xff1a; EHCache Caffeine Redis(常用…1. 介绍 Spring Cache 是一个框架实现了基于注解的缓存功能只需要简单地加一个注解就能实现缓存功能。 Spring Cache 提供了一层抽象底层可以切换不同的缓存实现例如 EHCache Caffeine Redis(常用) 起步依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-cache/artifactId version2.7.3/version /dependency 1.1 常用注解 在SpringCache中提供了很多缓存操作的注解常见的是以下的几个 注解说明EnableCaching开启缓存注解功能通常加在启动类上Cacheable在方法执行前先查询缓存中是否有数据如果有数据则直接返回缓存数据如果没有缓存数据调用方法并将方法返回值放到缓存中CachePut将方法的返回值放到缓存中CacheEvict将一条或多条数据从缓存中删除 在spring boot项目中使用缓存技术只需在项目中导入相关缓存技术的依赖包并在启动类上使用EnableCaching开启缓存支持即可。 例如使用Redis作为缓存技术只需要导入Spring data Redis的maven坐标即可。 1.2 入门案例 1). 环境准备 导入基础工程:底层已使用Redis缓存实现 基础环境的代码在我们今天的资料中已经准备好了 大家只需要将这个工程导入进来就可以了。导入进来的工程结构如下 数据库准备: 创建名为spring_cache_demo数据库将springcachedemo.sql脚本直接导入数据库中。 引导类上加EnableCaching: package com.itheima;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching;Slf4j SpringBootApplication EnableCaching//开启缓存注解功能 public class CacheDemoApplication {public static void main(String[] args) {SpringApplication.run(CacheDemoApplication.class,args);log.info(项目启动成功...);} } 2). CachePut注解 CachePut 说明 作用: 将方法返回值放入缓存 value: 缓存的名称, 每个缓存名称下面可以有很多key key: 缓存的key ---------- 支持Spring的表达式语言SPEL语法 在save方法上加注解CachePut 当前UserController的save方法是用来保存用户信息的我们希望在该用户信息保存到数据库的同时也往缓存中缓存一份数据我们可以在save方法上加上注解 CachePut用法如下 /*** CachePut将方法返回值放入缓存* value缓存的名称每个缓存名称下面可以有多个key* key缓存的key*/PostMappingCachePut(value userCache, key #user.id)//key的生成userCache::1public User save(RequestBody User user){userMapper.insert(user);return user;} 说明key的写法如下 #user.id : #user指的是方法形参的名称, id指的是user的id属性 , 也就是使用user的id属性作为key ; #result.id : #result代表方法返回值该表达式 代表以返回对象的id属性作为key #p0.id#p0指的是方法中的第一个参数id指的是第一个参数的id属性,也就是使用第一个参数的id属性作为key ; #a0.id#a0指的是方法中的第一个参数id指的是第一个参数的id属性,也就是使用第一个参数的id属性作为key ; #root.args[0].id:#root.args[0]指的是方法中的第一个参数id指的是第一个参数的id属性,也就是使用第一个参数 的id属性作为key ; 启动服务,通过swagger接口文档测试访问UserController的save()方法 因为id是自增所以不需要设置id属性 查看user表中的数据 查看Redis中的数据 3). Cacheable注解 Cacheable 说明: 作用: 在方法执行前spring先查看缓存中是否有数据如果有数据则直接返回缓存数据若没有数据调用方法并将方法返回值放到缓存中 value: 缓存的名称每个缓存名称下面可以有多个key key: 缓存的key ---------- 支持Spring的表达式语言SPEL语法 在getById上加注解Cacheable /*** Cacheable在方法执行前spring先查看缓存中是否有数据如果有数据则直接返回缓存数据若没有数据 *调用方法并将方法返回值放到缓存中* value缓存的名称每个缓存名称下面可以有多个key* key缓存的key*/GetMappingCacheable(cacheNames userCache,key#id)public User getById(Long id){User user userMapper.getById(id);return user;} 重启服务,通过swagger接口文档测试访问UserController的getById()方法 第一次访问会请求我们controller的方法查询数据库。后面再查询相同的id就直接从Redis中查询数据不用再查询数据库了就说明缓存生效了。 提前在redis中手动删除掉id1的用户数据 查看控制台sql语句说明从数据库查询的用户数据 查看Redis中的缓存数据说明已成功缓存 再次查询相同id的数据时直接从redis中直接获取不再查询数据库。 4). CacheEvict注解 CacheEvict 说明 作用: 清理指定缓存 value: 缓存的名称每个缓存名称下面可以有多个key key: 缓存的key ---------- 支持Spring的表达式语言SPEL语法 在 delete 方法上加注解CacheEvict DeleteMappingCacheEvict(cacheNames userCache,key #id)//删除某个key对应的缓存数据public void deleteById(Long id){userMapper.deleteById(id);}DeleteMapping(/delAll)CacheEvict(cacheNames userCache,allEntries true)//删除userCache下所有的缓存数据public void deleteAll(){userMapper.deleteAll();} 重启服务,通过swagger接口文档测试访问UserController的deleteAll()方法 查看user表数据清空 查询Redis缓存数据
http://www.hkea.cn/news/14527630/

相关文章:

  • 杨凌规划建设局网站wordpress 短视频
  • 做销售的去哪个网站应聘优化设计数学
  • 专业做网站公司做网站设计所遇到的问题
  • 建设网站什么费用直接网址登录wordpress
  • 虚拟机中做网站网站系统目前运行稳定
  • 厦门工商网站查询企业信息商业软文怎么写
  • 宁波网站建设营销定制在线外链工具
  • 成都网站建设代理加盟潍坊网站建设方案外包
  • icp备案网站负责人wordpress categories
  • 移动网站建设解决方案衡阳县专业做淘宝网站
  • 英文网站建设怎么样自媒体seo优化
  • 公司都是自己制作网站电子商务网站建设规划实践成果
  • 岳阳企业网站定制开发高职高专 网站建设与维护
  • 开一个网站建设公司需要什么软件app大全
  • php+ajax网站开发典型实例pdfwordpress关键词采集文章
  • 网站优化策略wordpress注册数学验证
  • 网站建设找哪家wordpress 让置顶显示在分类目前
  • 做网站聊城做网站有哪些费用
  • 网站群建设 公司市政道路毕业设计代做网站
  • 中山网站建设最好的公司推荐一下做年会视频的网站
  • 网站建设的初衷获取文章内容 wordpress
  • 大兴黄村网站建设公司免费空间说说赞领取网站
  • 云信智联商丘网站建设建设信用卡激活中心网站
  • 蒙特网站建设公司网站空间上传工具
  • 深圳沙井做公司网站友情链接权重高的网站
  • 苏州网站设计服务做淘宝网站运营工作流程
  • 创美艺佳网站是谁做的百度智能建站系统
  • 山西宏图建设集团有限公司网站郑州网站建设公司如何
  • 合肥建站公司哪韩国食品网站设计欣赏
  • 欧洲做r18 cg的网站齐家网装修公司地址