代码实例
指定缓存key的生成策略
设置默认KeyGenerator
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Override
public KeyGenerator keyGenerator() {
return new SimpleKeyGenerator() {
@Override
@NonNull
public Object generate(@NonNull Object target, @NonNull Method method, @NonNull Object... params) {
String originalKey = super.generate(target, method, params).toString();
Integer currentUserOrganizationId = DmsSecurityUtils.getCurrentUserOrganizationId();
return originalKey + "-" + currentUserOrganizationId;
}
};
}
}
自定义KeyGenerator
@Component
public class DmsKeyGenerator extends SimpleKeyGenerator {
@Override
public Object generate(Object target, Method method, Object... params) {
String originalKey = super.generate(target, method, params).toString();
Integer currentUserOrganizationId = DmsSecurityUtils.getCurrentUserOrganizationId();
return originalKey + "-" + currentUserOrganizationId;
}
}
@Cacheable(value = "organizationRangeIdSet", keyGenerator = "dmsKeyGenerator")
PREVIOUSSpring声明式缓存整合Redis