Redis报错:redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out
问题描述:
在阿里云linux服务器上(最便宜的那种。。。),使用redis缓存实现点赞功能报错,由于对redis不够深入以为是配置文件的问题,忽略了代码。。
异常信息:
redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: Read timed out at redis.clients.jedis.Protocol.process(Protocol.java:79) at redis.clients.jedis.Protocol.read(Protocol.java:131) at redis.clients.jedis.Connection.getIntegerReply(Connection.java:188) at redis.clients.jedis.Jedis.sismember(Jedis.java:1266)
问题解决:
使用完jedis之后执行close()
事例:
public String set(String key, String value) { // TODO Auto-generated method stub Jedis jedis =jedisPool.getResource(); String result =jedis.set(key, value); jedis.close(); return result; } @Override public String get(String key) { // TODO Auto-generated method stub Jedis jedis =jedisPool.getResource(); String result =jedis.get(key); jedis.close(); return result; }
注:每次使用完就close掉,jedisPool不关闭,否则就会报错,无法获取资源