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>
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 .
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