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:----Frgu/42JkRUVY775Z6HpnleHovhT1kXadJEozuoE4hb0kvGOTcEAR3DlNwqL+WcTyft06TyQUvuQvhYe2bAJn+A4Hmk1Oo1c8QZ4f0x+yopp+cSujrXfWXh+awllKgtvncoGFpA1jH1nr24ZJ8xWbAQdKASvlhrCctHIXNZdveMdvEJL1O8K3lLl8aNS5ly/2T+cudcQyUv/H98vSoV4VayYUYFc0bB0LG2TEvOwqqynq0gPP3XlXLe5wo8o3X4ncUkB+Lnce1A3TSJJcdCDoZbVngfs1bgDo1vYmclbd09+RFaH00vnN0uXxJx2w5Ecqpn8hiYNAOVUTbWVqfhG2ZRRjheYuFSvJOTX/BfwIMUk1bei3UHEyL9FV2BdBmcm0dUG1Pzp/AIvO7t+tp1nzEr1YALOWcuVgeqrQ+PJbooBMSUtqz2qhoRvpDFDGupXfgn5hh+wgm2G96ifEou7OkvQU+DvI1modb7TaZJJ2dj7X4Pi2JG46+8ykegoJpxyjBQXxxcoDB6sALh+o9sd3LEMULGnF5JxjXbsPirP0h2JnchIbgDXBXjtEoTUMAdOzHjC9K7fnh/beM64hVfdZXfy1rJsCZcwV3a4B47wbNQmNJAdyMH9egxZTlhc747lb49BtNTlwQO+qdyqdy2DpabZfk9QKLJ6W7dznfEh/Mo=----ATTACHMENT:----NDY3NjAwNjQ3NDQ5MzYxNCA3NzI1MDc1NTc3NjU3NjE3IDQzODI5NTk3NzAzMDc5NDI=