NoSQL客户端超时设置
Redis
以Jedis客户端为例,通过如下配置分配等待获取连接池连接的超时时间和网络连接/读超时时间:
Jedis在建立Socket时通过如下代码设置超时。
配置全局默认的Socket连接/读超时
可以在JVM启动时通过添加如下参数,来配置默认全局的Socket连接/读超时。即如Httpclient、JDBC等,如果没有配置socket超时,则默认会使用该超时。
MongoDB
MongoDB提供了多个版本的Java客户端驱动。基本选项如下(详见com.mongodb.MongoOptions
):
参数说明:(单位均为毫秒)
connect-timeout
:新建socket连接时的超时,默认为0,表示不限制socket_timeout
:I/O读写操作时,socket连接的超时,默认为0,表示不限制max-wait-time
:某个线程获取连接时最大等待时间,默认12000,即12s,0表示不限制write-timeout
:写操作的超时时间,默认0,表示不限制
参考
MongoDB进阶(八)Spring整合MongoDB(Spring Data MongoDB)
《亿级流量网站架构核心技术》:超时与重试机制
Last updated