问题遇到的现象和发生背景
Jedis中执行eval方法时,为啥要client.setTimeoutInfinite() 将读时间设置为0 ?
client.setTimeoutInfinite();
问题相关代码,请勿粘贴截图
public Object eval(final String script, final int keyCount, final String... params) {
client.setTimeoutInfinite();
try {
client.eval(script, keyCount, params);
return getEvalResult();
} finally {
client.rollbackTimeout();
}
}
public void setTimeoutInfinite() {
try {
if (!isConnected()) {
connect();
}
socket.setSoTimeout(0);
} catch (SocketException ex) {
broken = true;
throw new JedisConnectionException(ex);
}
}