2016-07-08 1 views
7

Я привык к psql, которые я могу использовать, подавая ему строку соединения без необходимости разорвать его в различных аргументов, то есть,Можно ли использовать redis-cli с URL-адресом соединения?

psql postgres://<username>:<password>@<host>:<port> 

Это полезно, когда у меня есть такая строка из Heroku, например. Можно ли сделать что-то подобное с redis-cli? Я хочу напрямую передать строку подключения, такую ​​как та, которая хранится в Heroku в качестве переменной среды, когда я устанавливаю надстройку Redis. Это возможно? Пример синтаксиса Я хотел бы использовать:

redis-cli redis://<username>:<password>@<host>:<port> 
+0

Я открыл функция запроса на выпуск трекера Redis: https: // GitHub. com/antirez/redis/issues/3399 –

+0

Спасибо Итамару за его ответ и здесь, и там. –

ответ

9

Нет, на данный момент (v3.2.1) Redis-кли не поддерживает схему подключения URI. Если вы хотите, вы можете сделать функцию или вытащить запрос для этого в Redis repository.

UPDATE: Опция -u была выпущена с Redis 4.0 см Release notes.

+0

ОК, спасибо за ответ! –

+2

И спасибо за создание запроса на тягу: https://github.com/antirez/redis/pull/3409 –

+0

Мое удовольствие - я буду пинговать антирезу, поэтому, возможно, он будет включен в v4 :) –

1

Для тех, кто не может дождаться следующего релиза Redis, не сможет обновить свой redis-cli, я сделал простую функцию bash, которая, похоже, работает для моего дела (Heroku). Это должно быть добавлено к ~/.bash_profile или ~/.bashrc:

function redis-url() { 
    # Get the first argument as the URL variable 
    url=$1 
    # Parse and generate the command: redis-cli -h [hostname] -p [port] -a [password] 
    cmd=`echo $url | sed 's_redis://\(.*\):\(.*\)@\(.*\):\(.*\)_redis-cli -h \3 -p \4 -a \2_'` 
    # Run the command 
    $cmd 
} 

Я тогда введите в моем терминале:

redis-url redis://rediscloud:[email protected]:1234 
+0

FYI, опция '-u' из PR от Itamar уже выпущена с Redis 4 и теперь это в redis-cli. –

+0

Действительно? Какая версия в точности? Он по-прежнему [на неустойчивой ветке] (https://github.com/antirez/redis/compare/4.0.6...unstable#diff-12ccdbf958c39a07b5dc785c68c8ebd3R1203) в связанном репо на данный момент. Страница загрузки в настоящее время перечисляет 4.0.6 как последнюю. –

+0

Я бегу 4.0.6 и функция там. Может быть, неустойчивая ветка устарела? –

 Смежные вопросы

  • Нет связанных вопросов^_^