elasic cache-redis-写入~30-40 k密钥后无法连接-连接池问题

cfh9epnr  于 2021-06-09  发布在  Redis
关注(0)|答案(0)|浏览(183)

我使用的弹性缓存redis有4个碎片,每个碎片有2个副本节点,总共12个节点。我正在使用SpringDataRedis和莴苣。下面是我的群集连接配置-
公共生菜连接工厂redisconnectionfactory(){

List<String>  nodes = new ArrayList<>();

    nodes.add("shard1***");
    nodes.add("shard2***");
    nodes.add("shard3***");
    nodes.add("shard4***");
    RedisClusterConfiguration clusterConfiguration = new RedisClusterConfiguration(nodes);
    return new LettuceConnectionFactory(clusterConfiguration);

}
我在一个管道中写数据,它在一个管道中执行5个写命令。吞吐量是非常高的约300k/秒,由于这一点,我得到下面的错误。有什么办法可以优化生菜池来解决这个问题。任何指针都会有帮助。
在io。莴苣。核心。莴苣未来。等待所有(莴苣未来。java:88)原因:io.莴苣.core.redisexception:io.莴苣.core.redisconnectionexception:无法连接到172.26.25.141:6379

at org.springframework.data.redis.connection.lettuce.LettuceConnection.closePipeline(LettuceConnection.java:542)
... 35 more

原因:io.莴苣.core.redisconnectionexception:无法连接到172.26.25.141:6379原因:io.莴苣.core.redisconnectionexception:无法连接到172.26.25.141:6379

at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:78)
at io.lettuce.core.RedisConnectionException.create(RedisConnectionException.java:56)
at io.lettuce.core.cluster.PooledClusterConnectionProvider.lambda$getConnectionAsync$6(PooledClusterConnectionProvider.java:384)
at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:907)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
at io.lettuce.core.AbstractRedisClient.lambda$initializeChannelAsync0$4(AbstractRedisClient.java:329)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题