0

我创建了 rediscluster 并分配了具有新默认用户和密码的用户管理组,我可以使用此命令连接到 redis 集群 redis-cli -u "redis://username:password@hostname:6379" --tls此命令使用用户名和密码以及 tls 选项。另一方面,当我尝试在下面的 Java 代码片段中使用生菜客户端 6.0.0.RELEASE 做完全相同的事情时,我得到了连接超时异常。

import io.lettuce.core.*;
import io.lettuce.core.api.StatefulRedisConnection;
import io.lettuce.core.api.sync.RedisCommands;
import java.util.*;
​
class RedisTest{
    public static void main(String[] args){
        System.out.println("hello world2!");
       RedisClient redisClient = RedisClient.create(RedisURI.Builder.redis("hostname",6379).withAuthentication("default","a-str0ng-pa))word".toCharArray()).withStartTls(true).build()); 
       StatefulRedisConnection<String, String> connection = redisClient.connect();
        RedisCommands<String, String> syncCommands = connection.sync();
​
        syncCommands.set("key", "Hello, Redis!");
​
        connection.close();
        redisClient.shutdown();
        System.out.println("exit working!");
    }
}

我收到以下错误

Exception in thread "main" io.lettuce.core.RedisConnectionException: Unable to connect to hostname:6379
        at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
        at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
        at io.lettuce.core.AbstractRedisClient.getConnection(AbstractRedisClient.java:320)
        at io.lettuce.core.RedisClient.connect(RedisClient.java:211)
        at io.lettuce.core.RedisClient.connect(RedisClient.java:196)
        at RedisTest.main(RedisTest.java:11)
Caused by: io.lettuce.core.RedisCommandTimeoutException: Connection initialization timed out. Command timed out after 1 minute(s)
        at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:65)
        at io.lettuce.core.protocol.RedisHandshakeHandler.lambda$channelRegistered$0(RedisHandshakeHandler.java:62)
        at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98)
        at io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:106)
        at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66)
        at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
        at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.lang.Thread.run(Thread.java:748)
4

0 回答 0