protected function getBackend() { $memcached = new Memcached(); $memcached->addServer('localhost', 11211); $memcached->setOption(Memcached::OPT_BINARY_PROTOCOL, true); $memcached->setOption(Memcached::OPT_TCP_NODELAY, true); return Matryoshka\Memcached::create($memcached); }
private static function getTestBackends($regex) { $allBackends = ['EnabledMemArray' => new Matryoshka\Enable(new Matryoshka\Ephemeral()), 'DisabledMemArray' => self::getDisabled(new Matryoshka\Ephemeral()), 'KeyShortMemArray' => new Matryoshka\KeyShorten(new Matryoshka\Ephemeral(), 40), 'MemArrayHierarchy' => new Matryoshka\Hierarchy([new Matryoshka\Ephemeral()]), 'MemArray' => new Matryoshka\Ephemeral(), 'PrefixMemArray' => new Matryoshka\Prefix(new Matryoshka\Ephemeral(), 'prefix'), 'ScopeMemArray' => new Matryoshka\Scope(new Matryoshka\Ephemeral(), 'scope'), 'MultiScope2MemArray' => self::getMultiScope(new Matryoshka\Ephemeral(), 2), 'MultiScope10MemArray' => self::getMultiScope(new Matryoshka\Ephemeral(), 10), 'StatsMemArray' => new Matryoshka\Stats(new Matryoshka\Ephemeral()), 'ExprChangeMemArray' => new Matryoshka\ExpirationChange(new Matryoshka\Ephemeral(), function ($expiration) { return $expiration * 2; })]; if (Matryoshka\Memcache::isAvailable()) { $allBackends['MemArrayMemcacheHier'] = new Matryoshka\Hierarchy([new Matryoshka\Ephemeral(), Matryoshka\Memcache::create(self::getMemcache())]); $allBackends['LocalMemcache'] = new Matryoshka\Local(Matryoshka\Memcache::create(self::getMemcache())); $allBackends['Memcache'] = Matryoshka\Memcache::create(self::getMemcache()); } if (Matryoshka\Memcached::isAvailable()) { $allBackends['Memcached'] = Matryoshka\Memcached::create(self::getMemcached()); } if (Matryoshka\APCu::isAvailable()) { $allBackends['APCu'] = new Matryoshka\APCu(); } if ($regex !== null) { foreach ($allBackends as $type => $backend) { if (!preg_match("/{$regex}/i", $type)) { unset($allBackends[$type]); } } } return $allBackends; }