Memcached 具体连接的哪个服务器?
配置多个服务器,在 Illuminate\Cache\MemcachedConnector 使用addServer 添加进 memcached 具体见文档
cat config/cache.php
'memcached' => [
'driver' => 'memcached',
'servers' =>
[
[
'host' => '127.0.0.1', 'port' => 11211, 'weight' => 80
],
[
'host' => '127.0.0.1', 'port' => 11212, 'weight' => 20
],
],
cat Illuminate\Cache\Repository.php
public function get($key, $default = null)
{
//$this->store 来自Illuminate\Cache\MemcachedStore
dump($this->store->getmemcached()->getstats());//返回config/cache.php memcached servers数组服务器信息
"127.0.0.1:11221" => [],"127.0.0.1:11222" => [],
$value = $this->store->get($key);
if (is_null($value))
{
$this->fireCacheEvent('missed', [$key]);
$value = value($default);
}
else
{
$this->fireCacheEvent('hit', [$key, $value]);
}
return $value;
}
测试
echo \Cache::get('test');
// $this->store->getmemcached()->getstats() 输出的还是多个服务器信息,怎么知道具体连接的哪个服务器呢?
本作品采用《CC 协议》,转载必须注明作者和本文链接