function WP_Object_Cache()
 {
     global $memcached_servers;
     global $mcrouter_server;
     // get appropriate bucket
     if ($mcrouter_server && array_key_exists('host', $mcrouter_server) && array_key_exists('port', $mcrouter_server)) {
         // use mcrouter host and port if the global mcrouter is set
         $buckets = array("{$mcrouter_server['host']}:{$mcrouter_server['port']}");
         $this->mcrouter_prefix = '/rep/all/';
     } else {
         if ($mcrouter_server) {
             // we should be using mcrouter, but we can't
             error_log('[wpengine] Pod set to use mcrouter but host and port names are not specified in site config.json. Falling back to no replication.');
         }
         if (isset($memcached_servers)) {
             $buckets = $memcached_servers;
         } else {
             $buckets = array('unix:///tmp/memcached.sock');
         }
     }
     reset($buckets);
     if (is_int(key($buckets))) {
         $buckets = array('default' => $buckets);
     }
     foreach ($buckets as $bucket => $servers) {
         $this->mc[$bucket] = new Memcache();
         foreach ($servers as $server) {
             if (substr($server, 0, 5) == "unix:") {
                 $node = $server;
                 $port = 0;
             } else {
                 list($node, $port) = explode(':', $server);
                 if (!$port) {
                     $port = ini_get('memcache.default_port');
                 }
                 $port = intval($port);
                 if (!$port) {
                     $port = 11211;
                 }
             }
             $this->mc[$bucket]->addServer($node, $port, false, 1, 1, -1, true, array($this, 'failure_callback'));
             $this->mc[$bucket]->setCompressThreshold(20000, 0.2);
         }
     }
     global $blog_id, $table_prefix;
     $this->global_prefix = is_multisite() || defined('CUSTOM_USER_TABLE') && defined('CUSTOM_USER_META_TABLE') ? '' : $table_prefix;
     $this->blog_prefix = (is_multisite() ? $blog_id : $table_prefix) . ':';
     // try to use the blog name but if we can't locate it, at least use something unique
     $customer = WP_Object_Cache::get_site_cache_key(__FILE__);
     $this->customer = $customer;
     // SO: blog prefix must come before any custom prefix
     $this->global_prefix = $this->global_prefix . ':' . $customer;
     $this->blog_prefix = $this->blog_prefix . ':' . $customer;
     $this->cache_hits =& $this->stats['get'];
     $this->cache_misses =& $this->stats['add'];
 }