ERR wrong number of arguments for command: Wrong number of arguments for command(コマンドの引数の数が誤っている)
Redis意味
Redis コマンドが想定より少ない、または多い引数で送信された。構文を満たしていないため、コマンドは処理されずに拒否された。
原因
パラメータの欠落/過剰 (例: SET key value ではなく SET key のみ)、空/未定義として渡された変数、誤った引数順序でのコマンド呼出し、またはクライアントライブラリでの配列/引数展開 (spread) の誤り。動的に組み立てたコマンドでよく見られる。
対処方法
コマンドの正しいシグネチャを確認する (例: SET key value [options])。公式のコマンドリファレンスを参照する。クライアントコードでは、引数 (特に配列から来るもの) が空/欠落していないことを確認する。ユーザー入力からコマンドを組み立てる場合は、事前に引数の数を検証する。redis-cli でコマンドを手動で試し、想定される引数の数を確認する。
同じデータベースの他の項目
- DENIED Redis is running in protected modeRedis is running in protected mode(Redis は保護モードで稼働中)
- ERR Can't execute '<cmd>': only (P|S)SUBSCRIBE / (P|S)UNSUBSCRIBE / PING / QUIT / RESET are allowed in this contextCommand not allowed in subscribe context(subscribe コンテキストでは許可されないコマンド)
- ERR SELECT is not allowed in cluster modeSELECT is not allowed in cluster mode(クラスタモードでは SELECT は許可されない)
- ERR Background save already in progressBackground save already in progress(バックグラウンド保存が既に進行中)
- ERR bit offset is not an integer or out of rangeBit offset is not an integer or out of range(ビットオフセットが整数でないか範囲外)
- ERR Protocol error: invalid multibulk lengthProtocol error: invalid multibulk length(プロトコルエラー: 無効な multibulk 長)
- ERR Number of keys can't be greater than number of argsEVAL/EVALSHA: numkeys exceeds argument count(numkeys が引数の数を超えている)