public function read ($pkValue = FALSE, $cache = FALSE)
	{
		
		// If we're not caching or there is no memcached object just call parent
		
		if ($cache === FALSE || !($this->memcached instanceof \Memcached))
		{
			return parent::read ($pkValue);
		}
		
		// If there is a key value passed set it
		
		if ($pkValue !== FALSE)
		{
			$this->iset (static::$pk, $pkValue);
		}
		
		// Load memcached object attributres
		
		$obj	= $this->memcached->get ($this->getMemcachedID ());
		
		// If the object is not cached, load and cache it
		
		if ($obj === FALSE)
		{
			
			// Read object
			
			if (parent::read ($pkValue) === FALSE)
			{
				return FALSE;
			}
			
			// Cache object attributes
			
			$this->memcached->set ($this->getMemcachedID (), $this->getCacheAttributes (), $cache);
			
		}
		
		// Set object attributes from the cache
		
		else
		{
			$this->setCacheAttributes ($obj);
		}
		
		// Return
		
		return TRUE;
		
	}
public function read ($pkValue = FALSE, $cache = FALSE)
	{
		
		// If we're not caching or there is no memcached object just call parent
		
		if ($cache === FALSE || !($this->memcached instanceof \Memcached))
		{
			return parent::read ($pkValue);
		}
		
		// If there is a key value passed set it
		
		if ($pkValue !== FALSE)
		{
			$this->iset (static::$pk, $pkValue);
		}
		
		// Load memcached object attributres
		
		$obj	= $this->memcached->get ($this->getMemcachedID ());
		
		// If the object is not cached, load and cache it
		
		if ($obj === FALSE)
		{
			
			// Read object
			
			if (parent::read ($pkValue) === FALSE)
			{
				return FALSE;
			}
			
			// Cache object attributes
			
			$this->memcached->set ($this->getMemcachedID (), $this->getCacheAttributes (), $cache);
			
		}
		
		// Set object attributes from the cache
		
		else
		{
			$this->setCacheAttributes ($obj);
		}
		
		// Return
		
		return TRUE;
		
	}
public function read ( $ pkValue = FALSE , $ cache = FALSE ) { // If we're not caching or there is no memcached object just call parent if ( $ cache === FALSE || ! ( $ this -> memcached instanceof \ Memcached ) ) { return parent :: read ( $ pkValue ) ; } // If there is a key value passed set it if ( $ pkValue !== FALSE ) { $ this -> iset ( static :: $ pk , $ pkValue ) ; } // Load memcached object attributres $ obj = $ this -> memcached -> get ( $ this -> getMemcachedID ( ) ) ; // If the object is not cached, load and cache it if ( $ obj === FALSE ) { // Read object if ( parent :: read ( $ pkValue ) === FALSE ) { return FALSE ; } // Cache object attributes $ this -> memcached -> set ( $ this -> getMemcachedID ( ) , $ this -> getCacheAttributes ( ) , $ cache ) ; } // Set object attributes from the cache else { $ this -> setCacheAttributes ( $ obj ) ; } // Return return TRUE ; }
Read an object from memcached if it exists,
otherwise load the object from the database and then cache it
@param mixed $pkValue Primary key value
@param integer|boolean $cache Number of seconds to cache the object for
0 = cache never expires, FALSE = do not cache
@return boolean
Read an object from memcached if it exists otherwise load the object from the database and then cache it