Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** Container for all XCache-based cache methods. Inherits additional methods from <CacheCore>. Adheres* to the ICacheCore interface.** @version 2012.01.28* @copyright 2006-2012 Ryan Parman* @copyright 2006-2010 Foleeo, Inc.* @copyright 2012 Amazon.com, Inc. or its affiliates.* @copyright 2008-2010 Contributors* @license http://opensource.org/licenses/bsd-license.php Simplified BSD License* @link http://github.com/skyzyx/cachecore CacheCore* @link http://getcloudfusion.com CloudFusion* @link http://xcache.lighttpd.net XCache*/class CacheXCache extends CacheCore implements ICacheCore{/*%******************************************************************************************%*/// CONSTRUCTOR/*** Constructs a new instance of this class.** @param string $name (Required) A name to uniquely identify the cache object.* @param string $location (Required) The location to store the cache object in. This may vary by cache method.* @param integer $expires (Required) The number of seconds until a cache object is considered stale.* @param boolean $gzip (Optional) Whether data should be gzipped before being stored. Defaults to true.* @return object Reference to the cache object.*/public function __construct($name, $location, $expires, $gzip = true){parent::__construct($name, null, $expires, $gzip);$this->id = $this->name;}/*** Creates a new cache.** @param mixed $data (Required) The data to cache.* @return boolean Whether the operation was successful.*/public function create($data){$data = serialize($data);$data = $this->gzip ? gzcompress($data) : $data;return xcache_set($this->id, $data, $this->expires);}/*** Reads a cache.** @return mixed Either the content of the cache object, or boolean `false`.*/public function read(){if ($data = xcache_get($this->id)){$data = $this->gzip ? gzuncompress($data) : $data;return unserialize($data);}return false;}/*** Updates an existing cache.** @param mixed $data (Required) The data to cache.* @return boolean Whether the operation was successful.*/public function update($data){$data = serialize($data);$data = $this->gzip ? gzcompress($data) : $data;return xcache_set($this->id, $data, $this->expires);}/*** Deletes a cache.** @return boolean Whether the operation was successful.*/public function delete(){return xcache_unset($this->id);}/*** Defined here, but always returns false. XCache manages it's own expirations. It's worth* mentioning that if the server is configured for a long xcache.var_gc_interval then it IS* possible for expired data to remain in the var cache, though it is not possible to access* it.** @return boolean Whether the cache is expired or not.*/public function is_expired(){return false;}/*** Implemented here, but always returns `false`. XCache manages its own expirations.** @return mixed Either the Unix time stamp of the cache creation, or boolean `false`.*/public function timestamp(){return false;}/*** Implemented here, but always returns `false`. XCache manages its own expirations.** @return boolean Whether the operation was successful.*/public function reset(){return false;}}/*%******************************************************************************************%*/// EXCEPTIONSclass CacheXCache_Exception extends CacheCore_Exception {}