redis并发连接问题超时
2017-02-24 00:00
197 查看
摘要: jedis验证连接有效性超时
jidis 连接池 getResource方法的中验证连接是否可用是这样定义的:
return hostAndPort.getHost().equals(connectionHost) && hostAndPort.getPort() == connectionPort && jedis.isConnected() && jedis.ping().equals("PONG");
其中ping是很耗时的。当并发量很大的时候,这里耗时会很大。很容易出现超时。
调整思路:在不ping的情况下保证连接可用
jedispool会记录连接最后使用时间,保证取到连接时的时间减去连接最后使用时间在连接可用范围之内就行
ping换成(lCurrentTime-pooledJedis.getLastUsedTime()<XXXXXX)XXXX为自定义超时时间
jidis 连接池 getResource方法的中验证连接是否可用是这样定义的:
return hostAndPort.getHost().equals(connectionHost) && hostAndPort.getPort() == connectionPort && jedis.isConnected() && jedis.ping().equals("PONG");
其中ping是很耗时的。当并发量很大的时候,这里耗时会很大。很容易出现超时。
调整思路:在不ping的情况下保证连接可用
jedispool会记录连接最后使用时间,保证取到连接时的时间减去连接最后使用时间在连接可用范围之内就行
ping换成(lCurrentTime-pooledJedis.getLastUsedTime()<XXXXXX)XXXX为自定义超时时间
相关文章推荐
- IIS6的超时问题
- windows下如何解决PHP调用的外部程序超时阻塞问题
- 用HttpWebRequest代替WebClient解决POST超时问题
- ASP.NET 网站管理工具超时问题解决办法之一
- 还是那个session超时数据丢失问题,乱七八糟的。
- 一个关于java.net.Socket的超时的问题
- 一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
- 在从池中获取连接之前超时时间已过,所有池连接都已被使用并已达到最大池大小的问题解决方法
- 一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
- 彻底解决asp里用ADO连接数据库的超时问题
- 注册 XML Catalog 解决 Eclipse 中 XML 验证时 dtd /xsd 实体未找到 或 连接主机超时的问题
- (转)一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
- TimeOut 超时问题解决方案
- 解决SqlTransaction用尽的问题(SQL处理超时)
- 蛙蛙推荐:一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
- UDP通讯的接收超时问题(receiveTimeout)
- 解决SqlTransaction用尽的问题(SQL处理超时)
- 一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
- 一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
- 用HttpWebRequest代替WebClient解决POST超时问题