oMemcache = new Memcache(); if (!$this->oMemcache->connect (getParam('sys_cache_memcache_host'), getParam('sys_cache_memcache_port'))) $this->oMemcache = null; } } /** * Get data from cache server * * @param string $sKey - file name * @param int $iTTL - time to live * @return the data is got from cache. */ function getData($sKey, $iTTL = false) { $mixedData = $this->oMemcache->get($sKey); return false === $mixedData ? null : $mixedData; } /** * Save data in cache server * * @param string $sKey - file name * @param mixed $mixedData - the data to be cached in the file * @param int $iTTL - time to live * @return boolean result of operation. */ function setData($sKey, $mixedData, $iTTL = false) { return $this->oMemcache->set($sKey, $mixedData, $this->iStoreFlag, false === $iTTL ? $this->iTTL : $iTTL); } /** * Delete cache from cache server * * @param string $sKey - file name * @return result of the operation */ function delData($sKey) { $this->oMemcache->delete($sKey); return true; } /** * Check if memcache is available * @return boolean */ function isAvailable() { return $this->oMemcache == null ? false : true; } /** * Check if memcache extension is loaded * @return boolean */ function isInstalled() { return extension_loaded('memcache'); } /** * It always removes all data, regardless the prefix param * @return true on success */ function removeAllByPrefix ($s) { return $this->oMemcache->flush(); } } /** @} */