memcache遇到的奇怪问题,求大家看看
php调用memcache的数据代码如下:
<?php
for($i=0;$i<100;$i++){
$memcache = new Memcache;
$memcache->connect(mq.q.com, 8002) or die ("Could not connect");
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('phptest555', $tmp_object, false, 10) or die ("Failed to save data at the server");
$get_result = $memcache->get('phptest555');
var_dump($get_result);
}
?>
其中mq.q.com在DNS中只解析了10.75.1.10 / 10.76.1.10 两个地址
把这个脚本放在10.75.1网中跑一下,就全部去读写10.75.1.网段了,相反放在10.76网段中,又全去读写10.76去了
就是读不到对方网段中,其中DNS没问题,使用其他参数取域名的IP地址,都是两个IP地址一半的机会
简直见鬼了
请问memcache的高手们见过这么奇怪的问题吗? DNS是纯静态的轮循,ping和其他办法取IP地址都是两个地址一半的机会 <?php
for($i=0;$i<100;$i++){
$ip = gethostbyname('mq.q.com');
$memcache = new Memcache;
$memcache->connect($ip, 8002) or die ("Could not connect");
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('mcqtest0715', $tmp_object, false, 10) or die ("Failed to save data at the server");
$memcache->get('mcqtest0715');
}
?>
这样写的代码测试,就两边全写了,这问题出在什么地方呢? 你如果把gethostbyname('mq.q.com');放到其中一个网段,会读到两个还是只有本网段?
页:
[1]