web-dev-qa-db-ja.com

間違った種類の値phpを保持するキーに対するWRONGTYPE操作

こんにちは、RedisでLaravelを使用しています。getメソッドでキーにアクセスしようとすると、「間違った種類の値を保持するキーに対する間違った操作」というエラーが表示されます。

次のコードを使用してキー値にアクセスしています-

redisからデータを取得するためにこのコードを使用します

$values = "l_messages";
$value = $redis->HGETALL($values);
print($value);
73
narodia trushar

Redisは5種類のデータ型をサポートしています。キーがどのタイプの値にマップされるかを知る必要があります。各データタイプに関して、それを取得するコマンドは異なります。

キー値を取得するコマンドは次のとおりです。

  • 値が文字列型の場合-> GET <key>
  • 値がハッシュ型の場合-> HGETALL <key>
  • 値がリスト型の場合-> lrange <key> <start> <end>
  • 値がセット型の場合-> smembers <key>
  • 値がソート済みセット型の場合-> ZRANGEBYSCORE <key> <min> <max>

キーマッピングの値のタイプを確認するコマンド:

  • タイプ<key>
186
Phoebe Li

このエラーは、キー「l_messages」によってインデックス付けされた値がhash型ではなく、何か他のものであることを意味します。おそらく、コードの前半で他の値に設定しているでしょう。 GETで始まる他のさまざまな値取得コマンドを試して、どれが機能するかを確認し、実際にどのタイプがここにあるかを確認します。

7
advance512