mysupermao 发表于 2011-07-18 15:57

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的高手们见过这么奇怪的问题吗?

mysupermao 发表于 2011-07-18 15:58

DNS是纯静态的轮循,ping和其他办法取IP地址都是两个地址一半的机会

mysupermao 发表于 2011-07-18 16:00

<?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');
}
?>

这样写的代码测试,就两边全写了,这问题出在什么地方呢?

xinglu1983 发表于 2011-07-28 17:26

你如果把gethostbyname('mq.q.com');放到其中一个网段,会读到两个还是只有本网段?
页: [1]
查看完整版本: memcache遇到的奇怪问题,求大家看看