springboot增加注解缓存@Cacheable
业务层使用
配置
@Cacheable注解的属性使用
cacheNames和value
指定缓存组件的名字,通过下面代码可以看出可以将返回结果放在哪个缓存中,可以通过数组的方式指定多个缓存
key
缓存数据的时候使用的key,它是用来指定对应的缓存,模拟使用方法参数值作为key的值。也可以使用SpEL表达式的值来指定
名称
位置
描述
示例
methodName
root object
被调用的方法名称
#root.methodName
Method
root object
被调用的方法
#root.method.name
Target
root object
当前被调用的目标对象
#root.target
targetClass
root object
当前被调用的目标对象类
#root.targetClass
args
root object
被调用方法的参数列表#root.args[0]
caches
root object
调用的缓存列表
#root.caches[0].name
argument name
evaluation context
方法的参数名称可以直接使用#参数名
#p0,#a0等等
result
evaluation context
执行方法后的返回值
#result
可以通过这个参数提示列表看看到这个key所支持的root object对象有哪些,通过这样的方式可以指定对应的key值。
keyGenerator
这个是表示指定的key的生成器,当然在之前分享中我们说过一个简单的key的生成策略。这里我们还可以通过自定的方式来实现这个key的生成策略。
keyGenerator
这个是表示指定的key的生成器,当然在之前分享中我们说过一个简单的key的生成策略。这里我们还可以通过自定的方式来实现这个key的生成策略。
在使用的时候可以通过一下的方式进行配置
condition
指定复合条件的情况下才缓存。也可以通过SpEL表达式进行设置。这个配置规则和上面表格中的配置规则是相同的。
unless(除非)
当这个条件为true的时候,方法的返回值就不会被缓存。
sync
是否异步
注意
在使用这个属性的时候,当这个属性为true的时候,unless属性是不能使用的。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。