2013-05-29 32 views
21

Chciałem dokonać pewnych zmian w pliku redis.conf, tak aby za każdym razem, gdy piszę redis-cli, łączy mnie z instalacją redis zainstalowaną na serwerze zdalnym.Podłączanie do zdalnego serwera redis

wiem, że możemy połączyć się Redis zainstalowany na serwerze zdalnym przez:

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

Ale faktycznie, mam kilka skryptów bash iw tych skryptów Użyłem Redis-CLI w wielu miejsca. Zamiast więc zastępować redis-cli za pomocą redis-cli -h "Adres IP serwera" w każdym pliku, chciałem jakoś zmienić konfigurację redis, tak aby domyślnie łączył mnie ze zdalnym serwerem. Mam nadzieję, że to ma sens :)

Odpowiedz

12

Tommaso Jak powiedział, to nie jest dobry powód, aby w tym celu dotknij redis conf. Zamiast tego możesz użyć zmiennych środowiskowych w skryptach basha, aby wykonać polecenie, a następnie użyć tej zmiennej środowiskowej, gdziekolwiek używałeś redis-cli bezpośrednio.

Na przykład. $ REDIS_CONNECTION = "redis-cli-h"

Jeśli w dowolnym momencie zmienisz host, z którym chcesz się połączyć, to po prostu kwestia zmiany wartości zmiennych env.

Wymiana Redis-CLI ze zmiennej środowiskowej jest bardzo proste z sed we wszystkich plikach. To nie powinno być dużym kłopotem.

+1

niesamowite ... Szukałem czegoś takiego :) – user1304683

21

nie ma dobrego powodu, aby dotknąć redis conf w tym celu.

tak aby skrypt otacza Redis-cli o żądanych parametrów, aby połączyć się ze zdalnym gospodarza

np. stworzyć redis-cli-remotename.sh

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

i dać go + x uprawnienia (np. chmod + x redis-cli-remotename.sh)

+1

wydaje się dziwne mieć remote.host_name, więc byłoby to "redis-cli -h remote.google.com"? –

+3

@AlexMills nie, nazwa remote.host_name była przykładową nazwą hosta ... jeśli łączysz się z witryną google.com, będzie to "redis-cli -h google.com" –