【发布时间】:2017-10-12 11:54:51
【问题描述】:
我是 redis 新手,在我的应用程序中使用 Jedis 客户端。我经历了几个线程并没有找到确凿的答案。
我有 2 个问题需要澄清。
-
对于我的生产用途,我想为绝地获取操作和设置操作设置单独的超时。对于所有设置操作,我想将超时设置为 2000 毫秒并获得 100 毫秒。我已经实现了以下配置。
JedisPoolConfig poolConfig = new JedisPoolConfig(); poolConfig.setMaxIdle(30); poolConfig.setMinIdle(10); poolConfig.setMaxWaitMillis(2000); jedisPool = new JedisPool(poolConfig, RedisDBUrl, port, 100);让我知道上述配置是否可以完成这项工作。我将读取超时设置为 100 毫秒,将 maxwait 设置为 2000 毫秒。
-
如果我的理解正确,请告诉我。
有时我得到 JedisConnectionException: java.net.SocketTimeoutException: Read timed out 或有时 connect timeout。
当我的应用程序无法在配置的时间内连接到 redis 时,这里会抛出连接超时?
其次,当应用程序连接到redis但操作(get/set)需要时间或出于某种原因时,会出现读取超时?
最后,如何配置读取超时和连接超时?
【问题讨论】: