当前位置:Gxlcms > PHP教程 > memcached-PHP使用memcache权重和一致性哈希无效

memcached-PHP使用memcache权重和一致性哈希无效

时间:2021-07-01 10:21:17 帮助过:34人阅读

php调用memcahe的权重无效

PHP使用Memcached的扩展addServers使用权重,但是结果还是1:1,权重10:0,请问是什么原因呢?  
addServers(
    [
//        ['192.168.33.4',11201,10],
        ['192.168.33.4',11202,0]
    ]
);
//$mem->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
//$mem->setOption(Memcached::OPT_HASH, Memcached::HASH_MD5);
for($i=0;$i<10000;$i++){
    $key = md5(uniqid($i.'_'));
    $mem->add($key,'1');
}

回复内容:

php调用memcahe的权重无效

PHP使用Memcached的扩展addServers使用权重,但是结果还是1:1,权重10:0,请问是什么原因呢?  
addServers(
    [
//        ['192.168.33.4',11201,10],
        ['192.168.33.4',11202,0]
    ]
);
//$mem->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
//$mem->setOption(Memcached::OPT_HASH, Memcached::HASH_MD5);
for($i=0;$i<10000;$i++){
    $key = md5(uniqid($i.'_'));
    $mem->add($key,'1');
}

  • 结论:

  • 1 权重只有在使用一致性哈希的时候才有效

  • 2 一致性哈希的时候必须使用OPT_LIBKETAMA_COMPATIBLE
    *

  • 疑问:两个参数必须同时才能生效,为什么要做成2个呢?

人气教程排行