您的位置:首页 > 其它

Jedis使用中遇到的一些问题timeout no connection

2012-11-10 22:01 288 查看
redis 服务端与客户端之间使用TCP协议,一个链接一个session,请求和响应成对。另外基于逻辑服务与redis之间来看,从性能而言长连接是较好的选择。

实现长连接需要注意如下几点:

1.连接数收敛。  意味着要维护一个连接池,控制最大连接数,保持最小链接活跃,均匀分配链接

2.会话清理。 异常通讯时,必须先确保上一个命令已经完全结束,否则此回话应该被废弃(链接应该关闭)

3.快速检测无效链接,并容许重试。

jedis作为官方指定的客户端api,实现上看是比较完整的,但是使用中需要注意如下几点:

1.最大连接数,要设置的合理  maxactive,否则不利于连接数收敛,造成对redis服务端压力过大

2.最大空闲连接数,要设置合理的maxidel,否则空闲链接保持过大,造成不必要的开销

3.超时时间设置合理

4.使用中异常的链接要调用正确的方法,通知jedis回收(起始这块jedis可考虑自行做进去的)

5.链接有效性的检查,jedis有些重。  特别是打开他的testonbutton,但是基于长连接池而言,这个起始应该是有一个线程来合理的处理

6.重试,有些代码从连接池获取资源时,重试设置为1. 这个非常不利于系统负载低的时候。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jedis