首页 > 其他分享 >SpringCache

SpringCache

时间:2024-05-20 23:07:33浏览次数:20  
标签:缓存 SpringCache boot CachePut user 注解 返回值

实现了基于注解的缓存功能
导入依赖org.springframwork.boot
spring-boot-starter-cache
spring-boot-starter-data-redis
2.7.3
@EnableCaching 一般放在启动类上,表示我们使用基于注解的缓存功能----开启缓存注解功能
@Cacheable 一般加在方法上,如果查询到缓存, 就返回缓存数据,没查到就调用方法,并把数据放入缓存中。----一般用于getById
@CachePut 将方法的返回值放入到缓存中 ---------- 一般用于新增
@CacheEvict一条或多条数据从缓存中删除

为使得键不为重复而覆盖数据,可以选取主键作为key来缓存返回值,这里result代表返回值,如果取第一个参数则#p0第二个参数呢就#p1
a0也代表第一个参数
下面的#result也可以是#user.id同样可以取到返回值的属性

这里首先使用enable开启缓存注解
齐次controller层方法上加入
CachePut(cacheNames = “根据业务取名字”,key=“#result.id”)
public User save(@RequestBody User user){
userMapper.insert(user);
return user;
}

redis可以存储为树形结构,若set 键为a

标签:缓存,SpringCache,boot,CachePut,user,注解,返回值
From: https://www.cnblogs.com/launch/p/18201049

相关文章

  • SpringCache
    1、什么是SpringCacheSpringCache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。SpringCache提供了一层抽象,底层可以切换不同的缓存实现。EHCacheCaffeineRedis我们不需要主动显式要求使用什么缓存实现。比如我们要使用redis实现,只......
  • springcache condition #result 条件不生效问题排查
    本文主要是日常开发过程当中遇到的一个实际问题,以及问题排查的过程你将了解:springcache注解中condition的作用原理condition以及unless条件判断的区别背景有一个用户权限查询接口,查询用户在某个应用的权限,关键的两个入参信息为appCode(应用编码)account(用户账号)......
  • SpringCache教程
    前言极大地简化了程序员对于cache的操作流程,可以使用拒接方便的实现,支持redis,Caffeine,Memcached等不同的缓存框架。相关注解名称解释@Cacheable主要针对方法配置,能够根据方法的请求参数对其进行缓存@CacheEvict清空缓存@CachePut保证方法被调用,又希望结果......
  • Java开发 - SpringCache初体验
    前言早些时候,博主介绍过Redis的使用:Java开发-Redis初体验,Redie是基于缓存的一项技术,对于Redis,博主此处不再赘述,不了解的可以去看这篇文章,但Redis缓存并不是顶峰,本文要讲的内容就是Redis的辅助工具:SpringCache——的使用。有了SpringCache,Redis便可如虎添翼,使用效果更上一层楼,下面......
  • SpringBoot2.x—SpringCache的使用
    SpringCache(1)集成声明式与编程式说起SpringCache您可能不清楚。但您绝对清楚事务。一般使用事务分为编程式和声明式。编程式:事务操作与业务代码耦合,一般我们不会使用这种方式;声明式:AOP的运用,通过注解使得事务代码与业务代码解耦,目前项目中一般都是使用事务注解。而我们平时......
  • 缓存的常见问题以及SpringCache的解决方案
    总体来说,缓存在使用的过程中主要面临以下几个问题:缓存击穿(某个热点数据的key失效了)缓存中无数据,但是数据库中有数据,由于是热点key,如果同一时间大量请求进来会导致数据库压力大增缓存雪崩与缓存击穿类似,只不过缓存雪崩是多个热点key同时失效缓存穿透查询不存在的数据,当同时......
  • SpringCache-KeyGenerator
    实际项目中,如果使用统一的key的生成方式,可以自定义KeyGenerator。参考如下代码:点击查看代码@BeanpublicKeyGeneratorkeyGenerator(){returnnewKeyGenerator(){@OverridepublicObjectgenerate(Objecttarget,Methodmeth......
  • SpringCache的常用注解-@CacheEvit
    从缓存中移除相应的数据,触发缓存删除操作value:缓存名称key:缓存的key规则,可以使用SpringEL,默认是方法参数组合beforeInvocation:缓存的清除在方法调用之前执行还是之后执行,默认为false参考如下代码:点击查看代码@Override@CacheEvict(value={"query1"},key=......
  • SpringCache的引入
    SpringCache是Spring提供的一套的缓存解决方案,它不是具体的缓存实现,提供了一整套的配置、接口、注解等规范,用来整合当下流行的多种缓存产品。SpringCache的引入点击查看代码<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-s......
  • springcache + redis 配置支持缓存ttl失效
    packagetst;importcom.fasterxml.jackson.annotation.JsonAutoDetect;importcom.fasterxml.jackson.annotation.JsonTypeInfo;importcom.fasterxml.jackson.annotation.PropertyAccessor;importcom.fasterxml.jackson.databind.DeserializationFeature;importcom.......