0

我正在使用具有以下配置的 Redisson 连接到 Sentinel 服务器:

Config config = new Config();
config.useSentinelServers().setMasterName("local")
            .addSentinelAddress("redis://localhost:26379", "redis://localhost:26380", "redis://localhost:26381");
RedissonClient client = Redisson.create(config);

但是,当我运行此代码时,创建客户端时出现以下错误:

Caused by: java.lang.IllegalArgumentException: port out of range:-1
    at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143)
    at java.net.InetSocketAddress.<init>(InetSocketAddress.java:224)
    at org.redisson.client.RedisClient.<init>(RedisClient.java:105)
    at org.redisson.connection.MasterSlaveConnectionManager.createClient(MasterSlaveConnectionManager.java:354)
    at org.redisson.connection.SentinelConnectionManager.<init>(SentinelConnectionManager.java:74)
    at org.redisson.config.ConfigSupport.createConnectionManager(ConfigSupport.java:258)
    at org.redisson.Redisson.<init>(Redisson.java:115)
    at org.redisson.Redisson.create(Redisson.java:154)

我想知道我是否遗漏了 redisson 配置中的任何内容,或者我的哨兵服务器配置不正确。

4

2 回答 2

1

对我在编辑 wiki 时造成的混乱表示歉意。我应该说这是对最新版本的反映。

从上面的 2.9.3 和 3.4.3 开始,我们已经介绍了对 SSL 的支持,然后需要指定 URI 方案来告知所需的连接类型。

于 2017-06-21T18:35:01.557 回答
0

如果我更改原始配置,它现在正在工作,如下所示:

Config config = new Config();
config.useSentinelServers().setMasterName("local")
            .addSentinelAddress("localhost:26379", "localhost:26380", "localhost:26381");
RedissonClient client = Redisson.create(config);

它在文档中具有误导性,因为它确实暗示了其他方面。 https://github.com/redisson/redisson/wiki/2.-Configuration#271-sentinel-settings

于 2017-06-14T20:36:53.913 回答