標籤:less cep ble nbsp 進入 方法 try bsp item
代碼:
@Override @Cacheable(value = CACHE_NAME, key = "‘CartItemkey_‘+#uId") public List<String> getCartId(Long uId) {//CartItemkey_1 String key = "CartItemkey_"+uId; try { List<String> keyStr = (List<String>) redisCache.get(key, List.class); logger.info("===========================redis 調用==="); return keyStr; } catch (Exception e) { e.printStackTrace(); } return null; }
出現的原因就:
在第一次調用時候什麼都沒查到時候 返回 null
其實null 也是一種資料 ,
這時候就被緩衝起來了,key:null
所以在你再次調用時候,預設緩衝中是有值得,不過這個值是null而已
解決辦法:
@Override @Cacheable(value = CACHE_NAME, key = "‘CartItemkey_‘+#uId", unless="#result == null") public List<String> getCartId(Long uId) {//CartItemkey_1 String key = "CartItemkey_"+uId; try { List<String> keyStr = (List<String>) redisCache.get(key, List.class); logger.info("===========================redis 調用==="); return keyStr; } catch (Exception e) { e.printStackTrace(); } return null; }
Spring 緩衝註解@Cacheable 在緩衝時候 ,出現了第一次進入調用 方法 ,第二次不調用的異常