Your IP : 216.73.216.220


Current Path : /home/deltalab/Magento/docker-magento2/magento2/manager/dev/PAJ/Library/Cache/
Upload File :
Current File : //home/deltalab/Magento/docker-magento2/magento2/manager/dev/PAJ/Library/Cache/Helper.php

<?php
/**
 *  paj@gaiterjones.com
 *  MEMCACHE helper class - for all round cache (helper) fun.
 *
 *	version AUGUST 2014
 * 
 *
 */

namespace PAJ\Library\Cache;
 
// memcache helper class
//
class Helper {


	// get a string or array from cache
	// -- returns cached data or false
	//
	public static function getCachedString($_key,$_isArray=true)
	{
		$_cache=false;
		$_obj=new Memcache();
		$_cacheConnected=$_obj->get('memcacheconnected');
		
		if ($_cacheConnected)
		{
			if ($_isArray) {
				$_cache=unserialize($_obj->cacheGet($_key));
			} else {
				$_cache=$_obj->cacheGet($_key);
			}
		}
		
		unset($_obj);			
		return $_cache;		
	}
	
	// get a string or array from cache
	// -- returns cached data or false
	//
	public static function getCachedStringWithNameSpace($_key,$_nameSpace='global',$_isArray=true)
	{
		$_cache=false;
		$_obj=new Memcache();
		$_cacheConnected=$_obj->get('memcacheconnected');
		
		if ($_cacheConnected)
		{
			if ($_isArray) {
				$_cache=unserialize($_obj->cacheGetWithNameSpace($_key,$_nameSpace));
			} else {
				$_cache=$_obj->cacheGetWithNameSpace($_key,$_nameSpace);
			}
		}
		
		unset($_obj);			
		return $_cache;		
	}	
	
	// set a string or array in cache
	//
	public static function setCachedString($_string,$_key,$_ttl=7200)
	{
		$_obj=new Memcache();
		$_cacheConnected=$_obj->get('memcacheconnected');
		
		if ($_cacheConnected) // if connected, use cache otherwise return original string
		{
			if (is_array($_string))
			{
				$_obj->cacheSet($_key,serialize($_string),$_ttl);
			} else {
				$_obj->cacheSet($_key,$_string,$_ttl);
			}
		} 
		
		unset($_obj);
		return ($_string);
	}
	
	// set a string or array in cache with namespace
	//
	public static function setCachedStringWithNameSpace($_string,$_key,$_nameSpace='global',$_ttl=7200)
	{
		$_obj=new Memcache();
		$_cacheConnected=$_obj->get('memcacheconnected');
		
		if ($_cacheConnected) // if connected, use cache otherwise return original string
		{
			if (is_array($_string))
			{
				$_obj->cacheSetWithNameSpace($_key,serialize($_string),$_nameSpace,$_ttl);
			} else {
				$_obj->cacheSetWithNameSpace($_key,$_string,$_nameSpace,$_ttl);
			}
		}
		
		unset($_obj);
		return ($_string);
	}
	
	/**
	 * incLogCounter function.
	 * @what increments a counter in memcache
	 * @access public
	 * @return INTEGER COUNTER
	 */		
	public static function incLogCounter($_cacheNameSpace)
	{
		$this->__cache->increment($_cacheNameSpace);
		return ($this->getLogCounter($_cacheNameSpace));
	}
	
	/**
	 * getLogCounter function.
	 * @what gets a memcache counter used to numerate logs
	 * @access protected
	 * @return INTEGER COUNTER
	 */	
	public static function getLogCounter($_cacheNameSpace)
	{
	
		$_counter = $this->__cache->cacheGet($_cacheNameSpace); // get version from cache
        
        if ($_counter === false) { // if namespace not in cache reset to 1
            $_counter = 1;
            $this->__cache->cacheSet($_cacheNameSpace, $_counter,7200); // save to cache note ttl in seconds
        }
        
        return $_counter;
        
	}		
	
}