解决@Cacheable在同一个类中方法调用不起作用的问题

作者:seapeak007 时间:2022-02-19 01:46:54 

@Cacheable在同一类中方法调用无效

解决@Cacheable在同一个类中方法调用不起作用的问题

上述图片中,同一个类中genLiveBullets()方法调用同类中的queryLiveByRoom()方法,这样即便标识了Cacheable标签,再次调用时也没有走缓存。

cacheable不支持内部方法调用的方式,需要修改为把请求缓存的改成service方式,Aservice中的genLiveBullets()调用Bservice中的queryLiveByRoom()

见下图,已测试再次调用时为走的缓存。

解决@Cacheable在同一个类中方法调用不起作用的问题

@Cacheable的使用总结


@Cacheable(value = "PERSON",key = "#tagId+'_'+#zz")
public List<Person> getPersonByTagid(Long tagId,String zz)
  1. 其中value表示该方法返回的参数的缓存存在那个Cache里(即为缓存块的名字)

  2. 缓存结果以一个键值对存放在缓存中,注解中key即为键值对的key;value即为方法返回的结果

  3. key用双引号,里面#加上方法的参数:获取方法的参数, ''表示在参数之间添加分隔符

常规使用方法

  1. 在springboot的启动类上使用@EnableCaching//开启缓存

  2. 在方法上直接使用@Cacheable()使用缓存

来源:https://blog.csdn.net/seapeak007/article/details/75031400

标签:@Cacheable,同类,方法,调用
0
投稿

猜你喜欢

  • springboot @Async 注解如何实现方法异步

    2023-11-18 18:16:03
  • 一篇文章带你深入了解Java封装

    2023-11-20 00:37:45
  • javax.persistence中@Column定义字段类型方式

    2021-12-03 21:21:44
  • Java实现上传文件图片到指定服务器目录

    2023-06-28 00:23:32
  • JAVA WSIMPORT生成WEBSERVICE客户端401认证过程图解

    2023-11-14 00:27:55
  • @Configuration与@Component作为配置类的区别详解

    2023-03-09 19:50:15
  • Java实战之基于swing的QQ邮件收发功能实现

    2023-11-15 01:34:26
  • 解析Flink内核原理与实现核心抽象

    2023-11-25 10:30:04
  • Java异步处理机制实例详解

    2022-05-12 01:39:37
  • java创建多级目录文件的实例讲解

    2023-11-27 09:29:02
  • Flutter 状态管理的实现

    2023-08-21 02:38:33
  • JDBC实现学生管理系统

    2023-01-22 13:22:19
  • java如何通过IP解析地理位置

    2021-09-11 08:01:07
  • 解决mybatis update并非所有字段需要更新问题

    2022-12-09 10:20:55
  • java开发工作中对InheritableThreadLocal使用思考

    2023-11-24 21:46:44
  • 解决Mybatis-Plus操作分页后数据失效问题

    2023-11-25 11:31:55
  • springboot返回值转成JSONString的处理方式

    2022-09-27 12:04:46
  • Android中SeekBar和RatingBar用法实例分析

    2023-07-28 00:13:59
  • Android SQLite详解及示例代码

    2023-08-04 22:26:35
  • Java设计模式之备忘录模式

    2023-08-24 06:17:05
  • asp之家 软件编程 m.aspxhome.com