2013-05-29 16 views
21

Ho voluto apportare alcune modifiche in redis.conf, in modo che ogni volta che digito redis-cli mi connetta a redis installato sul server remoto.Connessione al server redis remoto

So che siamo in grado di connettersi a Redis installato sul server remoto:

redis-cli -h 'IP-Address-Of-Server'. 

Ma in realtà, ho alcuni script bash e in questi script ho usato Redis-CLI in molti posto. Quindi, invece di sostituire redis-cli con redis-cli -h 'IP-Address-Of-Server' in ogni file, ho voluto in qualche modo cambiare la configurazione redis, in modo che per impostazione predefinita mi colleghi al server remoto. Spero che abbia senso :)

risposta

12

Come Tommaso detto, questo non è un buon motivo per tocca il redis conf per questo scopo. Invece ciò che puoi fare è usare le variabili d'ambiente negli script di bash per eseguire il comando e quindi usare quella variabile d'ambiente ovunque tu abbia usato redis-cli direttamente.

Ad es. $ REDIS_CONNECTION = "redis-cli -h"

Se in un qualsiasi momento futuro decidete di cambiare l'host a cui volete connettervi, si tratta semplicemente di cambiare il valore delle variabili env.

Sostituzione Redis-cli con la variabile d'ambiente è piuttosto semplice con sed in tutti i file. Quindi non dovrebbe essere un problema.

+1

fantastico ... stavo cercando qualcosa del genere :) – user1304683

21

non c'è una buona ragione per toccare redis conf per questo.

solo fare uno script che avvolge redis-CLI con i parametri desiderati di connettersi all'host remoto

es. creare un redis-cli-remotename.sh

#!/bin/sh 
redis-cli -h remote.host_name 

e dargli + x permessi (ad es. chmod + x redis-cli-remotename.sh)

+1

sembra strano avere remote.host_name, quindi sarebbe "redis-cli -h remote.google.com"? –

+3

@AlexMills no, remote.host_name era un hostname di esempio ... se ci si connette a google.com, sarebbe "redis-cli -h google.com" –