网站首页 > 开源技术 正文
key生成策略
对于@Cacheable注解,有两个参数用于组装缓存的key
? cacheNames/value: 类似于缓存前缀
? key: SpEL表达式,通常根据传参来生成最终的缓存key
? 默认的redisKey = cacheNames::key (注意中间的两个冒号)
单参数:cacheNames::arg
无参数: cacheNames::SimpleKey [], 后面使用 SimpleKey []来补齐
多参数: cacheNames::SimpleKey [arg1, arg2...]
非基础对象:cacheNames::obj.toString()
自定义key生成策略
@Component("selfKeyGenerate")
public static class SelfKeyGenerate implements KeyGenerator {
@Override
public Object generate(Object target, Method method, Object... params) {
return target.getClass().getSimpleName() + "#" + method.getName() + "(" + JSON.toJSONString(params) + ")";
}
}
/**
* 对应的redisKey 为: get vv::ExtendDemo#selfKey([id])
*
* @param id
* @return
*/
@Cacheable(value = "cacheName", keyGenerator = "selfKeyGenerate")
public String testKey(int id) {
return "testKey:" + id + " --> " + UUID.randomUUID().toString();
}
/**
{
"keys": [
"vv::ExtendDemo#selfKey([1])"
],
"self": "selfKey:1 --> f5f8aa2a-0823-42ee-99ec-2c40fb0b9338"
}
*/
参考:https://developer.aliyun.com/article/926668
猜你喜欢
- 2024-11-26 MySQL分库分表实战
- 2024-11-26 MobaXterm 之 Network Services
- 2024-11-26 SpringBoot系列(十五)整合缓存,项目必用的技术
- 2024-11-26 盘点认证框架 : SpringSecurity OAuth 篇
- 2024-11-26 对称加密算法之Java SM4算法应用 附可用工具类
- 2024-11-26 java中加密算法AES和RSA
- 2024-11-26 领域驱动设计系列课程-领域服务(4)
- 2024-11-26 设计模式——简单工厂模式( Simple Factory Pattern )
- 2024-11-26 Spring Boot使用Redis + Cafeine实现二级缓存?
- 2024-11-26 「Java工具类」AES对称加密工具类
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)