안녕하세요, Redis와 함께 Laravel을 사용하고 있습니다 .get 메소드로 키에 액세스하려고하면 “잘못된 유형의 값을 보유하는 키에 대한 잘못된 유형 작업”오류가 발생합니다.
키 값에 액세스하기 위해 다음 코드를 사용하고 있습니다.
redis에서 데이터를 가져 오기 위해이 코드를 사용합니다.
$values = "l_messages";
$value = $redis->HGETALL($values);
print($value);
답변
Redis는 5 가지 데이터 유형을 지원합니다. 각 데이터 유형과 관련하여 키를 맵핑하는 명령이 다른 유형의 값을 알아야합니다.
키 값을 검색하는 명령은 다음과 같습니다.
- 값이 문자열 유형 인 경우-> GET
<key>
- 값이 해시 유형 인 경우-> HGETALL
<key>
- 값이 목록 유형 인 경우-> lrange
<key> <start> <end>
- 값이 세트 유형 인 경우-> 구성원
<key>
- 값이 정렬 된 세트 유형 인 경우-> ZRANGEBYSCORE
<key> <min> <max>
TYPE
키를 맵핑하는 값 유형을 확인 하려면이 명령을 사용하십시오 .
- 유형
<key>
답변
이 오류는 “l_messages”키로 색인 된 값이 유형이 hash
아니라 다른 유형임을 의미합니다. 코드의 초기에 다른 값으로 설정했을 것입니다. GET으로 시작하는 다양한 다른 값 게터 명령을 사용하여 어떤 명령이 작동하는지 확인하고 실제로 어떤 유형이 있는지 알 수 있습니다.