こんにちは私はRedisでLaravelを使用しています。getメソッドでキーにアクセスしようとすると、次のエラー「間違った種類の値を保持するキーに対するWRONGTYPE操作」が発生します。
次のコードを使用してキー値にアクセスしています-
私はこのコードを使用してredisからデータを取得します
$values = "l_messages";
$value = $redis->HGETALL($values);
print($value);
こんにちは私はRedisでLaravelを使用しています。getメソッドでキーにアクセスしようとすると、次のエラー「間違った種類の値を保持するキーに対するWRONGTYPE操作」が発生します。
次のコードを使用してキー値にアクセスしています-
私はこのコードを使用してredisからデータを取得します
$values = "l_messages";
$value = $redis->HGETALL($values);
print($value);
回答:
Redisは5つのデータ型をサポートしています。キーがどのタイプの値にマップするかを知る必要があります。各データタイプについては、それを取得するコマンドは異なります。
キー値を取得するコマンドは次のとおりです。
<key>
<key>
<key> <start> <end>
<key>
<key> <min> <max>
TYPE
コマンドを使用して、キーがマッピングされている値のタイプを確認します。
<key>
このエラーは、キー「l_messages」によってインデックスが付けられた値がタイプhash
ではなく、何か別のものであることを意味します。コードの前の方で、おそらく他の値に設定しているでしょう。GETから始めて、他のさまざまな値取得コマンドを試して、どのコマンドが機能するかを確認すると、実際にどのタイプがここにあるかがわかります。
print($redis->TYPE($values));
は、当て推量なしでそれをあなたに伝えます;)