Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /home/palandch/www/core/model/aws/lib/cachecore/ |
<?php /** * Container for all XCache-based cache methods. Inherits additional methods from <CacheCore>. Adheres * to the ICacheCore interface. * * @version 2009.10.10 * @copyright 2006-2010 Ryan Parman * @copyright 2006-2010 Foleeo, Inc. * @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; } }