php Memcached连接超时

时间:2012-04-20 15:34:09

标签: php amazon-web-services memcached amazon-elasticache

k,所以即时通讯遇到以下问题

$this->cacheServers = array(
     array('test.com', 11211)
);

$this->memcache = new \Memcached();
$this->memcache->setOption( \Memcached::OPT_COMPRESSION, TRUE );
$this->memcache->setOption( \Memcached::OPT_LIBKETAMA_COMPATIBLE, TRUE );
$this->memcache->setOption( \Memcached::OPT_CACHE_LOOKUPS, TRUE );
$this->memcache->setOption( \Memcached::OPT_CONNECT_TIMEOUT, 50 );
$this->memcache->setOption( \Memcached::OPT_POLL_TIMEOUT, 50 );
$this->memcache->setOption( \Memcached::OPT_RECV_TIMEOUT, 10000 );
$this->memcache->setOption( \Memcached::OPT_SEND_TIMEOUT, 10000 );

$this->memcache->setOption( \Memcached::OPT_SERVER_FAILURE_LIMIT, 1 );
$this->memcache->setOption( \Memcached::OPT_RETRY_TIMEOUT, 50 );

$this->memcache->setOption( \Memcached::OPT_NO_BLOCK, TRUE );
$this->memcache->setOption( \Memcached::OPT_TCP_NODELAY, true );
$this->_data['connected'] = $this->memcache->addServers($this->cacheServers);

所以,我试图让它超时,但它只是挂起

1 个答案:

答案 0 :(得分:3)

使用fsockopen实施我自己的telnet测试,并暂停一秒钟。

再次回答我自己的问题