我正在将redis与php一起使用(http://github.com/nrk/predis/上的 predis ),并且经常遇到超时问题。堆栈跟踪显示:
[04-Apr-2010 03:39:50] PHP Fatal error: Uncaught exception 'Predis_ClientException' with message 'Connection timed out' in redis.php:697 Stack trace: #0 redis.php(757): Predis_Connection->connect() #1 redis.php(729): Predis_Connection->getSocket() #2 redis.php(825): Predis_Connection->writeCommand(Object(Predis_Commands_ListRange)) #3 redis.php(165): Predis_ConnectionCluster->writeCommand(Object(Predis_Commands_ListRange)) #4 redis.php(173): Predis_Client->executeCommandInternal(Object(Predis_ConnectionCluster), Object(Predis_Commands_ListRange)) #5 redis.php(157): Predis_Client->executeCommand(Object(Predis_Commands_ListRange)) #6 [internal function]: Predis_Client->__call('lrange', Array)
这种情况一直发生,我不知道为什么。有人知道吗?
我认为这是因为Redis默认情况下会关闭空闲连接。
# Close the connection after a client is idle for N seconds (0 to disable) timeout 0