ERR wrong number of arguments for command: Wrong number of arguments for command
RedisЧто это значит?
Команда Redis отправлена с меньшим или большим числом аргументов, чем ожидается. Команда отклонена без обработки, так как её синтаксис не соблюдён.
Почему возникает?
Отсутствующие/лишние параметры (например, просто SET key вместо SET key value); переменные, переданные пустыми/неопределёнными; вызов команды с неверным порядком аргументов; либо ошибочное раскрытие массива/аргументов (spread) в клиентской библиотеке. Часто встречается в динамически формируемых командах.
Как исправить
Проверьте правильную сигнатуру команды (например, SET key value [options]); сверьтесь с официальным справочником команд. В клиентском коде убедитесь, что аргументы (особенно поступающие из массивов) не пусты/не отсутствуют. Если формируете команды из пользовательского ввода, заранее проверяйте число аргументов. Попробуйте выполнить команду вручную в redis-cli, чтобы подтвердить ожидаемое число аргументов.
Ещё по этой СУБД
- DENIED Redis is running in protected modeRedis is running in protected mode
- 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
- ERR SELECT is not allowed in cluster modeSELECT is not allowed in cluster mode
- 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
- ERR Number of keys can't be greater than number of argsEVAL/EVALSHA: numkeys exceeds argument count