每个页面的Spring可分页缓存键
我试着做一些像下面这样的事情每个页面的Spring可分页缓存键,spring,spring-data,spring-cache,Spring,Spring Data,Spring Cache,我试着做一些像下面这样的事情 @Cacheable(value = ACTIVE_DATA_CONFIGURATION_CACHE, key = "#tenant.id.concat('-').concat(#pageable.page)") public Page<DataConfiguration> findAllByTenant(final Pageable pageable, final Tenant tenant) { } 对于您的用例,请尝试使用KeyG
@Cacheable(value = ACTIVE_DATA_CONFIGURATION_CACHE, key = "#tenant.id.concat('-').concat(#pageable.page)")
public Page<DataConfiguration> findAllByTenant(final Pageable pageable, final Tenant tenant) {
}
对于您的用例,请尝试使用
KeyGenerator
@Cacheable(value = "doOneThing", keyGenerator = "CustomGenerator")
大概是这样的:
public class CustomGenerator implements KeyGenerator {
public Object generate(Object target, Method method, Object... params) {
String code = "UNIQUE_CODE"; // implements logic from params
return code;
}
}
对于您的用例,请尝试使用
KeyGenerator
@Cacheable(value = "doOneThing", keyGenerator = "CustomGenerator")
大概是这样的:
public class CustomGenerator implements KeyGenerator {
public Object generate(Object target, Method method, Object... params) {
String code = "UNIQUE_CODE"; // implements logic from params
return code;
}
}
由于Pageable没有属性页,如果您尝试将密钥生成为
{tenant.id}-{pageNumber}
,则可以将键值更改为{tenant.id.concat('-')。concat(#Pageable.pageNumber)
作为Pageable没有属性页,如果您尝试将密钥生成为{tenant.id}-{pageNumber}
,您可以将键值更改为#tenant.id.concat('-').concat(#pageable.pageNumber)
我可以在键生成器中获取pageable参数吗,它在对象中。。。paramsCan我在键生成器中获得可分页参数,它在对象中。。。params