admin管理员组

文章数量:1599903

cacheable中的condition和unless

其中condition是对入参进行判断,符合条件的缓存,不符合的不缓存。
其中unless是对出参进行判断,符合条件的不缓存,不符合的缓存。

常见用法如:

@Cacheable(cacheNames = "fm_analysis_safe_replay", unless = "#result.status !='0000'")
public BaseRsp<FaultSummaryRateVo, String> cacheFailuresCheckRate(@ApiParam(value = "月份", example = "2021-08") @RequestParam String date) throws ParseException {
    if (!FunctionUtil.getMonthFlag(date)) {
        return FakeServiceStandardUtil.createErrorRspV2(WebTypes.MSG_EINVAL, MONTH + date);
    }
    return FakeServiceStandardUtil.createSuccessRspV2(Collections.singletonList(iFailuresCheckRateService.getFailuresCheckRate(date)));
}

意思为,除非result中status不为0000,否则就缓存,比较饶人换句话就是说,只缓存result中status为0000的结果

本文标签: cacheablecondition