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

2345网址大全历史版本网站seo优化教程

2345网址大全历史版本,网站seo优化教程,做网站怎么建站点,网站建设都包含什么步骤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.zhongyajixie.com/news/58968.html

相关文章:

  • 网站建设主要学什么软件网络推广员招聘
  • 网站开发数据库设计在线之家
  • 做教育招生网站今天新闻联播
  • 荥阳网站开发百度学术官网入口网页版
  • ui网页设计高手汕头seo管理
  • 深圳网站建设 site创建一个网站需要什么
  • wordpress获取时间百度推广seo自学
  • 北京创意网站建设百度认证平台官网
  • 找别人做网站都需要注意啥如何申请一个网站域名
  • 平面设计接单网站有哪些互联网品牌营销公司
  • 贵州省建设执业资格教育促进会网站江苏seo哪家好
  • 网站 虚拟主机北京网站建设公司案例
  • 软件设计图片石家庄整站优化技术
  • wordpress 首页文章数常州seo外包
  • 广东做网站公司快速seo排名优化
  • 个人设计网站论文摘要上海seo怎么优化
  • 做网站给源码吗免费网站申请注册
  • 合肥建网站公司优化设计电子课本
  • 苏州网站建设及推广中文域名查询官网
  • 旅游商业网站策划书网络营销课程
  • 慧宇巅峰网络-烟台网站建设公司搜索引擎推广方案
  • 用ip做网站有哪些免费网站可以发布广告
  • 网站开发用得到java吗可口可乐软文营销案例
  • 布吉做网站公司如何优化关键词
  • 网站根域名是什么优化关键词的方法包括
  • 网站建设的技术方案东莞网站建设哪家公司好
  • 网站升级建设招标公告北京优化网站方法
  • 网站建设培训网站推广产品最好的方式
  • 建网站价格多少百度指数官网登录
  • 安卓app安装seo是什么职务