RedisConnectionException: Unable to init enough connections amount Only 23 from 32 were initialized.
Exception in thread "main" org.redisson.client.RedisConnectionException: Unable to init enough connections amount! Only 23 from 32 were initialized. Redis server: 192.168.0.100/192.168.0.100:6379
at org.redisson.connection.pool.ConnectionPool$2$1.operationComplete(ConnectionPool.java:161)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:121)
at org.redisson.misc.RedissonPromise.tryFailure(RedissonPromise.java:108)
at org.redisson.connection.pool.ConnectionPool.promiseFailure(ConnectionPool.java:331)
at org.redisson.connection.pool.ConnectionPool.access$400(ConnectionPool.java:54)
at org.redisson.connection.pool.ConnectionPool$4.operationComplete(ConnectionPool.java:295)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:504)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:483)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:121)
at org.redisson.misc.RedissonPromise.tryFailure(RedissonPromise.java:108)
at org.redisson.client.RedisClient$2$1$2.run(RedisClient.java:250)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:474)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:909)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: 192.168.0.100/192.168.0.100:6379
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:267)
at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:127)
... 6 more
解决方案如下:
调小ilde连接数,
Config config = new Config();
config.useSingleServer().setAddress("redis://192.168.0.100:6379");
//加入下面一行代码即可
config.useSingleServer().setConnectionMinimumIdleSize(10);
RedissonClient redisson = Redisson.create(config);
分析产生原因
根据错误提示可以看出是32个连接中只成功了23个,猜测连接池太大了,尝试减少连接数之后发现可行。
我的 redis-server运行环境:
系统:flymeOS 6
手机型号:mx 6T(600元左右的手机)
app :termux
由于 redis 是运行在手机termux中的,手机的配置相比主机肯定差不少,猜测承受不了太多连接,不过只是为了学习方便,我不需要太多连接,可以随身携带。
其他
关于termux 的使用在我的其他博客里有涉及。
点此查看其他博客
只查看termux相关