[php] 잘못된 종류의 값을 가진 키에 대한 잘못된 유형의 PHP

안녕하세요, 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으로 시작하는 다양한 다른 값 게터 명령을 사용하여 어떤 명령이 작동하는지 확인하고 실제로 어떤 유형이 있는지 알 수 있습니다.


답변