解决@Cacheable在同一个类中方法调用不起作用的问题
作者:seapeak007 发布时间:2022-02-19 01:46:54
标签:@Cacheable,同类,方法,调用
@Cacheable在同一类中方法调用无效
上述图片中,同一个类中genLiveBullets()方法调用同类中的queryLiveByRoom()方法,这样即便标识了Cacheable标签,再次调用时也没有走缓存。
cacheable不支持内部方法调用的方式,需要修改为把请求缓存的改成service方式,Aservice中的genLiveBullets()调用Bservice中的queryLiveByRoom()
见下图,已测试再次调用时为走的缓存。
@Cacheable的使用总结
@Cacheable(value = "PERSON",key = "#tagId+'_'+#zz")
public List<Person> getPersonByTagid(Long tagId,String zz)
其中value表示该方法返回的参数的缓存存在那个Cache里(即为缓存块的名字)
缓存结果以一个键值对存放在缓存中,注解中key即为键值对的key;value即为方法返回的结果
key用双引号,里面#加上方法的参数:获取方法的参数, ''表示在参数之间添加分隔符
常规使用方法
在springboot的启动类上使用@EnableCaching//开启缓存
在方法上直接使用@Cacheable()使用缓存
来源:https://blog.csdn.net/seapeak007/article/details/75031400


猜你喜欢
- 面向过程和面向对象的区别面向过程:当事件比较简单的时候,利用面向过程,注重的是事件的具体步骤和过程,注重的是过程中的具体行为,以函数为最小单
- 以前的Android(4.1之前的版本)中,SDcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示存储卡,而在Jell
- 1. 异常1.1 try…catch异常处理try catch的异常处理的格式写法 :try{ &nbs
- 在上一篇文章中,我们实现了统计每个产品和地区的销售额,如果现在需要统计每个产品和地区所占市场份额的百分比,那么使用堆叠条形图是不合适的,我们
- 场景MyBaitsPlus3.x与2.x是不一样的。这里使用3.0.1版本。官方文档https://mp.baomidou.com/guid
- 本功能是在winform平台上实现的,其他平台大同小异,不多做介绍。1.首先创建一个测试用winform窗体2.在winform窗体上添加一
- 方法一:public class MainActivity extends Activity { @O
- 1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String n
- 高分配速率(High Allocation Rate)分配速率(Allocation rate)表示单位时间内分配的内存量。通常使用&nbs
- spring cloud我想做成一个系列,所以spring cloud+eureka后面会慢慢说到的,有兴趣的小伙伴可以关注后续!这一节就简
- 一、简介构造函数,基本用法是在类对象声明的时候完成初始化工作。二、实例构造函数1、构造函数的名字与类名相同。2、使用 new 表达式创建类的
- 本文实例讲述了Android编程实现屏幕禁止休眠的方法。分享给大家供大家参考,具体如下:实现这一功能的方法有两种,一种是在Manifest.
- 本文实例为大家分享了Android实现手机多点触摸画圆的具体代码,供大家参考,具体内容如下静态效果图:(多个手指按下和抬起的状态)代码实现部
- 本文介绍了详解Maven * Nexus的安装与使用,分享给大家,具体如下:1.安装1.1 安装docker并加速yum update &am
- Fragment 的简单用法Fragment 是一种可以嵌入在 Activity 当中的 UI 片段,它能让程序更加合理和充分地利用大屏幕的
- 一、项目需求二、项目思路1、菜单制作2、中奖号码生成 getNumber (随机数 Math.random)3、购买号码和中奖号码比对 生成
- spring boot 作为微服务的便捷框架,在错误页面处理上也有一些新的处理,不同于之前的spring mvc 500的页面处理是比较简单
- 接着上一篇再为大家介绍java应用和输入输出常用方法,供大家参考,具体内容如下一、应用1、使用StringBuilder或StringBuf
- using System; using System.IO; using System.Data; using System.Text; u
- 一、概述无论是什么语言,在多线程编程中,常常会遇到多个线同时操作程某个变量(读/写),如果读/写不同步,则会造成不符合预期的结果。例如:线程