[예외 해결] 캐시 오류: 캐시 작업에 대해 반환된 Null 키(아마도

캐시 작업 솔루션에 대해 반환된 Null 키

1. 배경 설명

기술 스택: Springboot(2.5.14) + MQTT(5.x) + 캐시 + MySQL

프로젝트에는 매우 자주 사용되는 기능인 장치 ID에 따라 장치 세부 정보를 쿼리하는 방법이 있습니다. 데이터베이스에 대한 부담을 줄이기 위해 캐싱 기술을 사용하는 것을 생각하는 것은 당연합니다.

여기에 이미지 설명 삽입

2. 오류 내용

여기에 이미지 설명 삽입

캐시 작업에 대해 반환된 Null 키(디버그 정보 없이 클래스에서 명명된 매개변수를 사용하고 있는 것일 수 있습니다.) 빌더

자세한 오류 정보는 아래 그림과 같습니다.

여기에 이미지 설명 삽입

세 번째, 오류의 원인

여기에 이미지 설명 삽입

@Cacheable(key = "#id", unless = "#result==null")

어노테이션의 키 값, 즉 id 값이 null인 경우 즉, 이 메서드의 입력 매개변수 id가 비어 있는 경우 메서드 호출 시 null 값을 전달할 수 없음 null 값을 전달하는 경우 , 위의 오류가 보고됩니다.

4. 솔루션

이 메서드를 호출할 때 먼저 id가 비어 있는지 확인한 다음 id가 비어 있지 않을 때 이 메서드를 호출합니다.

예를 들어:
여기에 이미지 설명 삽입

이 기사는 끝났습니다!

Acho que você gosta

Origin blog.csdn.net/weixin_44299027/article/details/131978708
Recomendado
Clasificación