こんにちは私は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));は、当て推量なしでそれをあなたに伝えます;)