Shoora
5/10/2013 - 11:42 AM

memcache library for opencart

memcache library for opencart

<?php
class Mcache { 
    
    private $memcache;
    private $cache_time = 100;
    private $cache_zip = false;
    private $log_status = false;

    private $cache_log = "cache.log";

    public function __construct(){

        $this->memcache = new Memcache;
        @$this->memcache->connect('127.0.0.1', 11211) or define("MEMCACHE_DIED", true); //connect to memcached server

    }

    public function set($key, $value, $zip = false , $time = 0){
        if (!defined('MEMCACHE_DIED')):
            $this->log($key . " was set!");
            if (!$time):
                $time = $this->cache_time;
            endif;
            $this->memcache->set($key, $value, false, $time);
        endif;
    }

    public function get($key){
        if (!defined('MEMCACHE_DIED')):
            $this->log($key . " was gotten!");
            $value = $this->memcache->get($key);
            return $value;
        else:
            return false;
        endif;
    }

    public function delete($key){
        if (!defined('MEMCACHE_DIED')):
            $this->log($key . " was deleted!");
            $this->memcache->delete($key);
            return $value;
        else:
            return false;
        endif;
    }

    public function log($message) {
        $file = DIR_LOGS . $this->cache_log;
        if ($this->log_status):
            $handle = fopen($file, 'a+'); 
            
            fwrite($handle, date('Y-m-d G:i:s') . ' - ' . $message . "\n");
                
            fclose($handle); 
        endif;
    }

}
?>