Тайм-аут Redis с Predis

Я использую Redis с php (predis на http://github.com/nrk/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)

Это происходит постоянно, и я понятия не имею, почему. У кого-нибудь есть идеи?


person Patrick    schedule 05.04.2010    source источник


Ответы (2)


Я думаю, это из-за того, что Redis по умолчанию закрывает незанятые соединения.

redis.conf

# Close the connection after a client is idle for N seconds (0 to disable)
timeout 0
person Alfred    schedule 12.07.2010
comment
Не должны ли простаивающие соединения закрываться через несколько секунд до того, как будет достигнуто максимально допустимое количество соединений? - person mixdev; 01.09.2012
comment
0 означает, что тайм-аут отключен, и по умолчанию он установлен на 0 ... так что это не должно быть проблемой тайм-аута, но, как указано ниже @SuneRivers, в этой функции есть ошибка. - person Matt K; 06.12.2013

В списке проблем Redis обнаружена неподтвержденная ошибка. попробуйте обновить Redis до самой последней версии и посмотреть, сохраняется ли проблема.

person Sune Rievers    schedule 04.01.2011