2012-04-05 6 views
0

Ich versuche, eine Verbindung zu einem Remote-Redis-Server herzustellen, habe aber extreme Schwierigkeiten, herauszufinden, wie man es einrichtet. Ich kann Telnet in den Redis-Server völlig in Ordnung. Von Redis-cli kann ich mich mit dem Redis-Server verbinden.Redis init von Clojure

Aber wenn ich Setup Redis wie ich weiter unten Ich bin gerade erhalten:

Connect Connection refused java.net.PlainSocketImpl.socketConnect (PlainSocketImpl.java:-2)

(require clj-redis.client :as redis) 
(def db (redis/init :url "redis://0.0.0.0:6379)) 

Ich habe auch versuchte es ohne den "redis: //" Abschnitt der URL und bekam die gleichen Ergebnisse.

Hat jemand eine Idee von dem, was vor sich geht oder Dinge zu versuchen? Vielen Dank.

Antwort

3

Ich weiß nicht, Redis speziell, aber die 0.0.0.0 IP-Adresse in der URL sieht ungerade. 0.0.0.0 ist ein non-routable meta-address used to designate an invalid, unknown or non applicable target. Wenn Sie einen (Server-) Socket zum Abhören öffnen, würden Sie dies tun, um zu signalisieren, dass der Socket an alle IP-Adressen des Rechners gebunden sein sollte, aber als Client ist das nicht sinnvoll.

;If your redis server is running locally you should do 

(require clj-redis.client :as redis) 
(def db (redis/init :url "redis://127.0.0.1:6379")) 

; better? probably leave out the default port... 

(require clj-redis.client :as redis) 
(def db (redis/init :url "redis://localhost")) 

;if it's remote change ``127.0.0.1`` to the correct address. 
0

ich verwende accession

(def c (accession.core/connection-Karte {})) ;; {} - Standardeinstellungen

und dann (mit Verbindung c "... redis-cmd")