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

安平谁做网站好西安工程建设信息网站

安平谁做网站好,西安工程建设信息网站,网站建设公司招商,joomla 1.5 网站建设基础教程文章目录 1、Spring Cache介绍2、 常用注解3、 使用案例 1、Spring Cache介绍 Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache 提供了一层抽象,底层可以切换不同的…

文章目录

        • 1、Spring Cache介绍
        • 2、 常用注解
        • 3、 使用案例

1、Spring Cache介绍

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

Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如:

  • EHCache
  • Caffeine
  • Redis(常用)

起步依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId><version>2.7.3</version> 
</dependency>
2、 常用注解

在SpringCache中提供了很多缓存操作的注解,常见的是以下的几个:

注解说明
@EnableCaching开启缓存注解功能,通常加在启动类上
@Cacheable在方法执行前先查询缓存中是否有数据,如果有数据,则直接返回缓存数据;如果没有缓存数据,调用方法并将方法返回值放到缓存中
@CachePut将方法的返回值放到缓存中
@CacheEvict将一条或多条数据从缓存中删除

在spring boot项目中,使用缓存技术只需在项目中导入相关缓存技术的依赖包,并在启动类上使用@EnableCaching开启缓存支持即可。

例如,使用Redis作为缓存技术,只需要导入Spring data Redis的maven坐标即可。

3、 使用案例

引导类上加@EnableCaching

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

在方法上加注解@CachePut

	/*** CachePut:将方法返回值放入缓存* value:缓存的名称,每个缓存名称下面可以有多个key* key:缓存的key*/@PostMapping@CachePut(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 ;

在方法上加注解@Cacheable

/*** Cacheable:在方法执行前spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,	  *调用方法并将方法返回值放到缓存中* value:缓存的名称,每个缓存名称下面可以有多个key* key:缓存的key*/@GetMapping@Cacheable(cacheNames = "userCache",key="#id")public User getById(Long id){User user = userMapper.getById(id);return user;}

作用: 在方法执行前,spring先查看缓存中是否有数据,如果有数据,则直接返回缓存数据;若没有数据,调用方法并将方法返回值放到缓存中

​ value: 缓存的名称,每个缓存名称下面可以有多个key

​ key: 缓存的key ----------> 支持Spring的表达式语言SPEL语法

在 方法上加注解@CacheEvict

	@DeleteMapping@CacheEvict(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();}
http://www.yayakq.cn/news/92450/

相关文章:

  • 3d网站设计aso搜索排名优化
  • 济南电子商务网站建设内丘网站
  • 网站标题优化技巧上海网站建设中心
  • 寻找做项目的网站网站建设福
  • 网站友情链接模块北京道路优化
  • 电子网站教育培训网站建设方案
  • 深圳网站专业建设公司wordpress增加js效果
  • 404过多会不会影响网站排名打开浏览器
  • 北京高端网站建设图片大全北京金山办公软件
  • 网站代理合作wordpress视频主题模板下载
  • 石家庄网站建设电话咨询网站建设为了什么
  • 怎样自己做网络推广网站软件商店哪个好
  • 网站注册地微网站建设完不知道怎么推广咋办
  • 河南制作网站北京系统开发
  • php网站开发有什么优点江西省建设厅教育网站上查询
  • 广西钦州有人帮做网站的公司吗wordpress 图片 旋转
  • 投票网站做seo如何可以访问国外网站的dns
  • 专业图库网站 西安做网站推广需要哪些知识
  • 上海大 小企业网站制作大连制作网站多少钱
  • 网站是先备案 还是先做网站百度成都分公司
  • 做网站最好要买什么东西广东佛山网络科技有限公司
  • 成都做网站的建站宝盒开通
  • 公司起名打分最准的免费网站上海网页优化软件
  • 怎么用7牛云做网站如何做网站免费搭桥链接
  • 百度如何把网站做链接阿里云网站备案核验单
  • 惠州做网站建设青岛市崂山区城乡建设局网站
  • 富阳网站建设怎样网站建设管理视频
  • 中国做出口的网站平台制造业中小微企业
  • 大鹏网站建设公司网站域名所有权
  • 旅游网站模块wordpress logo 标签