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. 这个非常不利于系统负载低的时候。
实现长连接需要注意如下几点:
1.连接数收敛。 意味着要维护一个连接池,控制最大连接数,保持最小链接活跃,均匀分配链接
2.会话清理。 异常通讯时,必须先确保上一个命令已经完全结束,否则此回话应该被废弃(链接应该关闭)
3.快速检测无效链接,并容许重试。
jedis作为官方指定的客户端api,实现上看是比较完整的,但是使用中需要注意如下几点:
1.最大连接数,要设置的合理 maxactive,否则不利于连接数收敛,造成对redis服务端压力过大
2.最大空闲连接数,要设置合理的maxidel,否则空闲链接保持过大,造成不必要的开销
3.超时时间设置合理
4.使用中异常的链接要调用正确的方法,通知jedis回收(起始这块jedis可考虑自行做进去的)
5.链接有效性的检查,jedis有些重。 特别是打开他的testonbutton,但是基于长连接池而言,这个起始应该是有一个线程来合理的处理
6.重试,有些代码从连接池获取资源时,重试设置为1. 这个非常不利于系统负载低的时候。
相关文章推荐
- VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
- virtualbox使用中遇到的一些问题
- Qt开发环境中使用报表控件FastReport遇到的一些问题(二)
- 使用HttpURLConnection时遇到的资源未释放的问题
- Freemarker第一次实际项目使用遇到的一些问题
- 使用glide框架加载图片遇到的一些问题
- 使用elasticsearch遇到的一些问题以及解决方法
- 使用阿里云服务器遇到的一些问题及解决办法
- Spring2中aop的使用及遇到的一些问题
- cordova入门基础教程及使用中遇到的一些问题总结
- 使用云风的pbc库遇到的一些问题
- 使用Volley中遇到一些的问题
- 在Ubuntu上使用btrfs及在centos中升级内核遇到的一些问题
- MySql使用过程中常常遇到的一些问题
- emgucv使用遇到的一些问题
- 使用cdh和azkaban、redis等遇到的一些小问题
- 使用emma时遇到的一些问题
- 我在Eclipse中使用Tomcat插件的遇到的一些问题
- windows使用libvlc进行网络串流遇到的一些问题及解决方法
- Win10上使用SVN遇到的一些问题