redis超时问题分析

1. 如果redis和java在同一台服务器上,通过unix socket连接即可
2. redis和应用如果不在同一台服务器上,必须使用长连接,否则只要连接一多,就会出现连接不上的情况(timeout),我以前碰到过这个问题,用了长连接就药到病除
3. Redis既支持绑定unix 套接字,也支持绑定tcp套接字,这两个有什么区别?
unix套接字用本地文件来做中介,文件本身有访问控制,所以unix套接字支持安全访问控制。另外,unix套接字设计的目的是访问本机,自然会比tcp这种通用方案更优化。
4. redis 支持的最大连接数。config get maxclients
5. redis 查看当前连接数。info clients

6. redis 慢命令如:sort,hgetall,union,mget都会使得单命令处理时间较长,容易引起后续命令time out.所以我们第一需要从业务上尽量避免使用慢命令,如将hash格式改为kv自行解析,第二增加redis实例个数,每个redis服务器调用尽量少的慢命令。

参考:http://www.searchtb.com/2014/02/redis-timeout.html

你可能感兴趣的:(redis超时问题分析)