小编Art*_*icz的帖子

PHP中的memcached持久性无法按预期工作

我已经玩了不同的memcached库和插件版本,以实现PHP memcache客户端和memcached服务器之间的真正持久性.

问题是仍然打开和关闭连接,以便连接计数器上升而不是重用现有的持久连接.

我已经在redhat机器上从最新源编译了memcached守护进程.我使用版本memcached-1.4.14并以"#/ opt/memcached/bin/memcached -vvvv"开头

我从最新的源代码版本memcached-2.0.1编译的php插件,我已经针对libmemcached-1.0.9编译它以使其保持最新.目前它不能针对libmemcached-1.0.10进行编译.

我的PHP脚本如下所示:

<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

$key = "key_" . uniqid();
$memcached = new Memcached( 'persistent' );
$memcached->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
$memcached->setOption(Memcached::OPT_RECV_TIMEOUT, 1000);
$memcached->setOption(Memcached::OPT_SEND_TIMEOUT, 3000);
$memcached->setOption(Memcached::OPT_TCP_NODELAY, true);
$memcached->setOption(Memcached::OPT_PREFIX_KEY, 'persistent');

if( !count($memcached->getServerList() ) )
{
    $memcached->addServer( 'localhost', 11211 );
}
$memcached->set($key, 'value');
$value = $memcached->get($key);

print_r( $memcached->getStats() );
?>
Run Code Online (Sandbox Code Playgroud)

在触发脚本时,我在输出中看到没有添加服务器,仅在超时期限之后.

Array ( [@?qVG:11211] => Array ( [pid] => 3728 [uptime] => 73 [threads] => 4 [time] => 1343813688 [pointer_size] => …
Run Code Online (Sandbox Code Playgroud)

php memcached persistent persistent-connection libmemcached

6
推荐指数
1
解决办法
3923
查看次数