Используя telnet, я набираю в командной строке команды, подобные этой
get field with spaces get "field with spaces" get 'field with spaces'
И все эти три возвращают одну и ту же ошибку.
-ERR wrong number of arguments for 'get' command
Какую версию Redis вы используете?У меня работает на 2.2.2, используя двойные кавычки
root@this:~# redis-cli redis> set "test space" hello OK redis> get "test space" "hello" redis> get 'test space' (error) ERR wrong number of arguments for 'get' command redis>
Если у вас есть только telnet (а не 'redis-cli'), то вам нужно использовать унифицированный протокол Redis для безопасной работы с двоичными данными, например:
telnet localhost 6379 *2 $3 GET $17 field with spaces hello (this is Redis answer if "field with spaces" contains value "hello") Explanation: *2 = Number of arguments (first arg is "GET" and second is "field with spaces") $3 = length of first argument ("GET" contains 3 bytes) $17 = length of second argument ("field with spaces" contains 17 bytes)
Подробнееинформация о бинарно-безопасном протоколе Redis: http://redis.io/topics/protocol
получить "поле \ с \ пробелами"
, который работал для меня.