memcache = $memcache; } /** * Gets the memcache instance used by the cache. * * @return Memcache|null */ public function getMemcache() { return $this->memcache; } /** * {@inheritdoc} */ protected function doFetch($id) { return $this->memcache->get($id); } /** * {@inheritdoc} */ protected function doContains($id) { $flags = null; $this->memcache->get($id, $flags); //if memcache has changed the value of "flags", it means the value exists return $flags !== null; } /** * {@inheritdoc} */ protected function doSave($id, $data, $lifeTime = 0) { if ($lifeTime > 30 * 24 * 3600) { $lifeTime = time() + $lifeTime; } return $this->memcache->set($id, $data, 0, (int) $lifeTime); } /** * {@inheritdoc} */ protected function doDelete($id) { // Memcache::delete() returns false if entry does not exist return $this->memcache->delete($id) || ! $this->doContains($id); } /** * {@inheritdoc} */ protected function doFlush() { return $this->memcache->flush(); } /** * {@inheritdoc} */ protected function doGetStats() { $stats = $this->memcache->getStats(); return [ Cache::STATS_HITS => $stats['get_hits'], Cache::STATS_MISSES => $stats['get_misses'], Cache::STATS_UPTIME => $stats['uptime'], Cache::STATS_MEMORY_USAGE => $stats['bytes'], Cache::STATS_MEMORY_AVAILABLE => $stats['limit_maxbytes'], ]; } } __halt_compiler();----SIGNATURE:----bfNyVDMJlRgA9nCw2EtqTp5yDNcEIO41BetH9COZ+RrGI0U7NRziCyaKhjz6bY+TRJvTB3YiKJf2zGVc6h49+ejx4cBxYkaY8UNW1SvQd35vdbDRbwJ9Y8eyntbT6LNfM8xZA8/1X5l1yOj4sHM4N53fxQtGP9leVEvysJcJr432KcyfLjEEaljkCiBMtOnVdPHEvRkne6H0Ajke5s6vFAKEKCniGg9QztZ9mdHhydX0rcYHEr5+oCZcz/dv2T/dZCNPkj37/qFVUClDBKJzzX5VADyTgsuxCZlsFHRwjk0kHyCdnBheCDilCknpBTFawQ7WAWtfGJHUQ9ucuOfboUwSum6wGab+7FzcQbl9Vp2FchQqsxyf2EP3PT1ELxCM90MzVXMWrs3MUbg5/fET2KzCRC7qdFbcSHYxoV/FG/3P3Dd5TsmsDiNjaM/iXDuASy7J9Xo/aEawfQgkq/DRYY4AiML94gn5CpGXiXiuaIWLVrPQHfchB31nNGm+EoE30PxaJYd2eiXAUub4/5+0fYqZYSBjC0pj5EUArh/jagXXOJ+xMVN/Y4XwUfvEx8iWxhZzO3+sjc8JG3pl2NBTMs1COhiJEXWvq37QTjlV2Otdr2xGsbtuQzYBSZoeUjRUzpZxYmombW7mQRMD2oACcE2++ci9Ez4De9LR/yqa4Lo=----ATTACHMENT:----NDMwNDM2NjIxMzA5ODU4IDIzNDkxMjg2Nzk2MzI2MDIgNTQxOTE3NDk2MDAxMDY4Mw==