web-dev-qa-db-fra.com

Puis-je utiliser redis-cli avec une URL de connexion?

Je suis habitué à psql que je peux utiliser en lui fournissant la chaîne de connexion sans avoir à la casser en différents arguments, c'est-à-dire,

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

C'est utile lorsque j'ai une telle chaîne de Heroku, par exemple. Puis-je faire quelque chose de similaire avec redis-cli? Je veux lui donner directement une chaîne de connexion, comme celle qui est stockée sur Heroku en tant que variable d'environnement lorsque j'installe un module complémentaire Redis. Est-ce possible? Exemple de syntaxe que j'aimerais utiliser:

redis-cli redis://<username>:<password>@<Host>:<port>
16

Non, pour le moment (v3.2.1) redis-cli ne prend pas en charge le schéma de connexion URI. Si vous le souhaitez, vous pouvez faire une fonctionnalité ou tirer une demande pour cela dans le référentiel Redis .

MISE À JOUR: L'option -u A été publiée avec Redis 4.0, voir Notes de version .

15
Itamar Haber

Pour ceux qui ne peuvent pas attendre la prochaine version de Redis, ils ne pourront pas mettre à jour leur redis-cli, j'ai créé une fonction bash simple qui semble fonctionner pour mon cas (Heroku). Cela doit être ajouté à ~/.bash_profile ou ~/.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
}

Je peux ensuite taper ce qui suit dans mon terminal:

redis-url redis://rediscloud:[email protected]:1234
7
Bruno A.