代码接上文:深度理解springboot集成redis缓存之源码解析


## 1.使用SpEL表达式

  @Cacheable(cacheNames = "emp",key = "#root.methodName+'['+#id+']'")
public Employee getEmp(Integer id) {
System.out.println("查询"+id+"号员工");
Employee emp = employeeMapper.getEmpById(id);
return emp;
}
}

debug模式下运行查看key的结果

这样key的名字就换成我们自定义的了

2.自定义key生成策略

@Configuration
public class MyCacheConfig { @Bean("myKey")
public KeyGenerator keyGenerator(){
return new KeyGenerator(){ @Override
public Object generate(Object target, Method method, Object... params) {
return method.getName()+"["+ Arrays.asList(params).toString()+"]";
}
};
}
}


结果依然是如此

最新文章

  1. [翻译svg教程]svg中的circle元素
  2. PE440
  3. IE6常见bug整理
  4. Android之adb
  5. JAVA_build_ant_cmd pass muti param
  6. Mysql re-set password, mysql set encode utf8 mysql重置密码,mysql设置存储编码格式
  7. URL Scheme吊起app实现另外一种登录方式
  8. postfix日志分析pflogsumm
  9. 解析 .Net Core 注入 (1) 注册服务
  10. JSON对象添加删除属性
  11. 大华门禁SDK二次开发(二)-SignalR应用
  12. Spring Boot 2.x 综合示例-整合thymeleaf、mybatis、shiro、logging、cache开发一个文章发布管理系统
  13. 多线程之 Runnable接口
  14. Codeforces 1108D - Diverse Garland - [简单DP]
  15. 关于Handler中Message的创建问题
  16. LY.JAVA面向对象编程思想概述
  17. RAC初步使用
  18. qbxt联赛集训d1t3
  19. Python操作数据库之 MySQL
  20. 配置JNDI数据源

热门文章

  1. LGP7704题解
  2. Chrome浏览器打开图标显示空白
  3. Linux企业常用命令详解
  4. JavaWeb——基本概念
  5. ZYNQ生成一个工程的基本步骤
  6. 嵌入式无操作系统下管理内存和队列(类UCOS II思想)
  7. 6月28日 Django form组件 和 modelform组件
  8. Windows服务器上搭建Windows2003+IIS+ASP.NET+MSSQL网站
  9. vue学习过程总结(04) - 菜鸟教程归纳
  10. Java 枚举和单例模式?