prefix = $prefix; } /** * Retrieve an item from the cache by key. * * @param string $key * @return mixed */ public function get($key) { $value = xcache_get($this->prefix.$key); if (isset($value)) { return $value; } } /** * Store an item in the cache for a given number of minutes. * * @param string $key * @param mixed $value * @param int $minutes * @return void */ public function put($key, $value, $minutes) { xcache_set($this->prefix.$key, $value, $minutes * 60); } /** * Increment the value of an item in the cache. * * @param string $key * @param mixed $value * @return int */ public function increment($key, $value = 1) { return xcache_inc($this->prefix.$key, $value); } /** * Increment the value of an item in the cache. * * @param string $key * @param mixed $value * @return int */ public function decrement($key, $value = 1) { return xcache_dec($this->prefix.$key, $value); } /** * Store an item in the cache indefinitely. * * @param string $key * @param mixed $value * @return void */ public function forever($key, $value) { return $this->put($key, $value, 0); } /** * Remove an item from the cache. * * @param string $key * @return bool */ public function forget($key) { return xcache_unset($this->prefix.$key); } /** * Remove all items from the cache. * * @return void */ public function flush() { xcache_clear_cache(XC_TYPE_VAR); } /** * Get the cache key prefix. * * @return string */ public function getPrefix() { return $this->prefix; } }