0

我正在尝试连接到远程 Redis 服务器,但在弄清楚如何设置它时遇到了极大的麻烦。我可以很好地远程登录到 Redis 服务器。从 Redis-cli 我可以很好地连接到 Redis 服务器。

但是当我在下面设置 Redis 时,我得到了:

ConnectException 连接被拒绝 java.net.PlainSocketImpl.socketConnect (PlainSocketImpl.java:-2)

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

我也尝试过不带“redis://”部分的 url,得到了相同的结果。

有没有人知道正在发生的事情或要尝试的事情?谢谢。

4

2 回答 2

3

我不具体了解 redis,但0.0.0.0url 中的 ip 地址看起来很奇怪。0.0.0.0是一个不可路由的元地址,用于指定无效、未知或不适用的目标。当打开(服务器)套接字进行监听时,您会这样做以表明套接字应该绑定到机器上的所有 IP 地址,但作为客户端它没有意义。

;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.
于 2012-04-05T10:58:18.753 回答
0

我正在使用加入

(def c (accession.core/connection-map {})) ;; {} - 默认设置

然后 (with-connection c "... redis-cmd")

于 2012-04-05T12:22:18.227 回答