脚本如下:
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php $memcache = new Memcache(); $memcache->addServer("10.79.80.64", 2889, false, 1, 1, 0, true, function($host, $port) { echo "$host:$port fail\n"; }); while(1) { $result = $memcache->get('test'); if (!$result) { echo "fail\n"; } sleep(2); } |
bool Memcache::addServer ( string $host
[, int $port
= 11211 [, bool $persistent
[, int$weight
[, int $timeout
[, int $retry_interval
[, bool $status
[, callable$failure_callback
[, int $timeoutms
]]]]]]]] )
其中:
对于$retry_interval:
-1 : 对于失败的server不做retry
0:对于失败的server每次都retry
n(>0): 对于失败的server间隔n 秒后会retry一次
对于callback
当容错策略启用后,返回错误时并不会触发callback的调用
官方说明: