我正在使用 Spring Boot 1.5.10.RELEASE
和 spring-boot-starter-data-redis 版本:2.1.2.RELEASE
。
我需要根据方法中传递的参数给出缓存的名称。我的代码示例如下:
@Cacheable(value = "Company"+"-"+"#companyId",key="#employeeId")
public Employee getEmployee(Long companyId, Long employeeId) {
//Some code here
}
我希望名字像Company-1
但实际结果是 Company-#companyId
。
我正在搜索类似 customKeyGenerator 的内容。
请给我你的建议TIA
最佳答案
恐怕使用 "Company"+"-"+"#companyId"不会起作用,因为“值”会将所有内容解释为字符串。 'key' 接受用于动态计算 key 的 Spring 表达式语言 (SpEL) 表达式,因此 #employeeId 有效。 你需要一个自定义的 cacheResolver : spring cache with custom cacheResolver
关于java - redis 缓存中的自定义名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54923242/