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

2345网址大全历史版本seo网络推广培训班

2345网址大全历史版本,seo网络推广培训班,杭州公司做网站,wordpress 页码显示Spring Cache 缓存框架: Spring Cache功能介绍Spring Cache的Maven依赖Spring Cache的常用注解EnableCaching注解CachePut注解Cacheable注解CacheEvict注解 Spring Cache功能介绍 Spring Cache是Spring的一个框架,实现了基于注解的缓存功能。只需简单加一…

Spring Cache 缓存框架:

    • Spring Cache功能介绍
    • Spring Cache的Maven依赖
    • Spring Cache的常用注解
      • @EnableCaching注解
      • @CachePut注解
      • @Cacheable注解
      • @CacheEvict注解

Spring Cache功能介绍

  • Spring CacheSpring的一个框架,实现了基于注解的缓存功能。只需简单加一个注解,就能实现缓存功能

  • Spring Cache提供了一层抽象底层可以切换不同的缓存实现。比较常见的(底层)缓存实现有:

    Redis、EHCache、Caffeine。可自定义地修改Spring Cache底层的缓存实现比如: 你想用Redis进行缓存,可修改Spring Cache配置,让其底层通过Redis来实现缓存功能。

  • 在具体的项目中,想切换Spring Cache底层的“缓存实现”时
    只需修改该 “缓存实现”的依赖Spring Cache底层就会自动切换“缓存实现”
    例如:此时的底层的缓存实现为: EHCache,想修改为Redis,只需把Redis依赖修改为EHCache的依赖即可。 (当然你的电脑得提前装好Redis、配置好Redis)

Spring Cache的Maven依赖

       <!--  Spring-data-redis依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!-- Spring Cache的依赖,结合上面的Redis依赖,所以该Cache框架的底层“缓存实现”为: Redis  --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency>

Spring Cache的常用注解

@EnableCaching注解

  • 通常加在类 (启动类 )上,用于 开启缓存注解功能

在这里插入图片描述

  • @Slf4j
    @SpringBootApplication
    @EnableCaching  //开启缓存注解功能
    public class CacheDemoApplication {public static void main(String[] args) {SpringApplication.run(CacheDemoApplication.class,args);log.info("项目启动成功...");}
    }
    

@CachePut注解

  • 一般加在方法上方法的返回值放到缓存
    只能“放”缓存数据

  •   @PostMapping/** 当数据插入到数据库的同时,还需要把这个数据保存到Redis中一份(进行数据的缓存),* 此时可用Spring Cache框架的 @CachePut注解 :将方法的返回值存入到缓存中。*///使用Spring Cache缓存数据/* 如果此时User的id为1,那么存入Redis中的“key名称”为: userCache::1 */@CachePut(cacheNames = "userCache",key = "#user.id")public User save(@RequestBody User user){userMapper.insert(user);return user;}
    

    @CachePut注解的多种实现方式:

在这里插入图片描述

  •   @PostMapping/** 当数据插入到数据库的同时,还需要把这个数据保存到Redis中一份(进行数据的缓存),* 此时可用Spring Cache框架的 @CachePut注解 :将方法的返回值存入到缓存中。*///使用Spring Cache缓存数据/* 如果此时User的id为1,那么存入Redis中的“key名称”为: userCache::1 */@CachePut(cacheNames = "userCache",key = "#user.id")/* #result得到是一个User对象,结合该对象的id,生成存入Redis数据库中的 key */@CachePut(cacheNames = "userCache",key = "#result.id") //存入Redis的key名为: userCache::1 --对象导航/* #p0 : 获得save()方法的第一个参数,即User对象 */@CachePut(cacheNames = "userCache",key = "#p0.id") //存入Redis的key名为: userCache::1/* #a0 : 获得方法的第一个参数,... */@CachePut(cacheNames = "userCache",key = "#a0.id") //存入Redis的key名为: userCache::1/* #root.args[1] : 获得第一个参数 */@CachePut(cacheNames = "userCache",key = "#root.args[1].id") //存入Redis的key名为: userCache::1//上面的@CachePut()注解选其中一个使用即可。public User save(@RequestBody User user){userMapper.insert(user);return user;}
    

@Cacheable注解

  • 一般加在方法上在方法执行前,先查询缓存中是否有数据如果有数据,则直接返回缓存数据如果没有缓存数据,调用方法并将方法返回值放到缓存中
    即“可”取缓存数据,也可“放”缓存数据

在这里插入图片描述

  •  @GetMapping/*在方法执行前,先查询缓存中是否有数据,如果有数据,则直接返回缓存数据。如果没有缓存数据,调用方法并将方法返回值放到缓存中。*/@Cacheable(cacheNames = "userCache",key = "#id") // key的生成 : userCache::10public User getById(Long id){ //如果该id的值为: 10User user = userMapper.getById(id);return user;}
    

@CacheEvict注解

  • 一般加在方法上,有 一条多条缓存数据从缓存中删除

在这里插入图片描述

  •    /*数据库中的数据被删掉了,对应的也需要给清理掉 (清除一条缓存数据)*/@CacheEvict(cacheNames="userCache",key ="#id") //清理一条或多条缓存数据@DeleteMappingpublic void deleteById(Long id){userMapper.deleteById(id);}/*数据库中的数据被删掉了,对应的也需要给清理掉 (清除多条缓存数据)*/
    @CacheEvict(cacheNames = "userCache",allEntries = true) //清理一条或多条缓存数据@DeleteMapping("/delAll")public void deleteAll(){userMapper.deleteAll();}
    
http://www.hengruixuexiao.com/news/27797.html

相关文章:

  • 网站开发业务规划怎么自己刷推广链接
  • 苏州网站建设自助建站模板网页设计用什么软件
  • 东莞网站建设价格武汉seo优化分析
  • 什么网站不能备案网络营销的有哪些特点
  • 网站建设公司下载网络营销内容
  • 专门做网站的公司 南阳企业推广宣传文案
  • 电子商务网站建设 市场分析今日国内新闻10则
  • 云阳网站建设站长之家域名查询官网
  • 做视频网站需要多大带宽关键词快速排名seo怎么优化
  • 微软手机做网站服务器吗手机网址大全123客户端下载
  • 免费服务器试用站长工具seo
  • 幼儿园网站建设方案成人短期技能培训学校
  • 企业营销网站案例火锅店营销方案
  • 一站式建设最新战争新闻事件今天
  • 网站首页制作代码网站换了域名怎么查
  • 福州网站网页设计西安网站排名优化培训
  • 工信部网站手机备案查询google中文搜索引擎入口
  • 深圳网站制作公司报价网站快速推广
  • 龙岩整站优化品牌营销策划公司哪家好
  • 哈尔滨网站建设科技公司外链工厂
  • 网站设计任务书seo搜索引擎推广
  • 建设银行的投诉网站湘潭网络推广
  • 咸阳做网站的公司什么是网站推广优化
  • 西安月子中心网站制作seo搜索引擎优化价格
  • wordpress新站不收录百度信息流推广技巧
  • 网站后台管理系统很慢最新互联网项目平台网站
  • 这样可以做网站排名怎么优化快
  • 做彩票平台网站吗苏州优化seo
  • 网站建站主题不受国内限制的搜索引擎
  • 免费手机网站空间东莞网络推广及优化