我正在使用io.vertx.rxjava.redis.RedisClient包中的Vertx Redis客户端连接到Elasticache Redis。
它确实连接了,但显示了一个错误,
io.vertx.redis.client.impl.types.ErrorType: MOVED 4985 xxx.xxx.xxx.xxx:63791
在读完这个错误后,我发现了它,因为它有分片,并且它不能连接到所有的分片。
从库中,我不能确定在集群模式下使用什么方法进行连接。
发布于 2019-07-29 14:48:10
以下是如何在集群模式下连接和发送get命令的示例。
定义选项:
final RedisOptions options = new RedisOptions()
.setType(RedisClientType.CLUSTER)
.setUseSlave(RedisSlaves.SHARE)
.setMaxWaitingHandlers(128 * 1024)
.addEndpoint("redis://127.0.0.1:7000")
.addEndpoint("redis://127.0.0.1:7001")
.addEndpoint("redis://127.0.0.1:7002")
.addEndpoint("redis://127.0.0.1:7003")
.addEndpoint("redis://127.0.0.1:7004")
.addEndpoint("redis://127.0.0.1:7005");连接并发送命令:
Redis.createClient(vertx, options).connect(onCreate -> {
final Redis cluster = onCreate.result();
cluster.send(cmd(SET).arg("key"), set -> {
System.out.println(set.result());
});
});提示:如果您不确定如何使用某些库或文档不够清楚,如果项目有的话,您可以随时查看测试。您可以检查它们是如何实现的,这样您就可以使用其中的示例。
https://stackoverflow.com/questions/57248290
复制相似问题