| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | 
							- <?php namespace System\Cache\Driver;
 
- class Memcached implements \System\Cache\Driver {
 
- 	/**
 
- 	 * All of the loaded cache items.
 
- 	 *
 
- 	 * @var array
 
- 	 */
 
- 	private $items = array();
 
- 	/**
 
- 	 * Determine if an item exists in the cache.
 
- 	 *
 
- 	 * @param  string  $key
 
- 	 * @return bool
 
- 	 */
 
- 	public function has($key)
 
- 	{
 
- 		return ( ! is_null($this->get($key)));
 
- 	}
 
- 	/**
 
- 	 * Get an item from the cache.
 
- 	 *
 
- 	 * @param  string  $key
 
- 	 * @param  mixed   $default
 
- 	 * @return mixed
 
- 	 */
 
- 	public function get($key, $default = null)
 
- 	{
 
- 		// --------------------------------------------------
 
- 		// If the item has already been loaded, return it.
 
- 		// --------------------------------------------------
 
- 		if (array_key_exists($key, $this->items))
 
- 		{
 
- 			return $this->items[$key];
 
- 		}
 
- 		// --------------------------------------------------
 
- 		// Attempt to the get the item from cache.
 
- 		// --------------------------------------------------
 
- 		$cache = \System\Memcached::instance()->get(\System\Config::get('cache.key').$key);
 
- 		// --------------------------------------------------
 
- 		// Verify that the item was retrieved.
 
- 		// --------------------------------------------------
 
- 		if ($cache === false)
 
- 		{
 
- 			return $default;
 
- 		}
 
- 		return $this->items[$key] = $cache;
 
- 	}
 
- 	/**
 
- 	 * Write an item to the cache.
 
- 	 *
 
- 	 * @param  string  $key
 
- 	 * @param  mixed   $value
 
- 	 * @param  int     $minutes
 
- 	 * @return void
 
- 	 */
 
- 	public function put($key, $value, $minutes)
 
- 	{
 
- 		\System\Memcached::instance()->set(\System\Config::get('cache.key').$key, $value, 0, $minutes * 60);
 
- 	}
 
- 	/**
 
- 	 * Delete an item from the cache.
 
- 	 *
 
- 	 * @param  string  $key
 
- 	 * @return void
 
- 	 */
 
- 	public function forget($key)
 
- 	{
 
- 		\System\Memcached::instance()->delete(\System\Config::get('cache.key').$key);
 
- 	}
 
- }
 
 
  |