ApcStore.php
TLDR
The ApcStore.php
file is a part of the Illuminate\Cache
namespace in the Demo Projects project. It contains the ApcStore
class, which is a subclass of TaggableStore
. The class provides methods for storing, retrieving, incrementing & decrementing values in the cache using the APC (Alternative PHP Cache) extension.
Methods
__construct(ApcWrapper $apc, $prefix = '')
Constructor method for the ApcStore
class. It initializes the ApcWrapper
instance and the cache key prefix.
get($key)
Retrieves an item from the cache by its key. The cache key prefix is prepended to the key before retrieval.
put($key, $value, $seconds)
Stores an item in the cache for a given number of seconds. The cache key prefix is prepended to the key before storage.
increment($key, $value = 1)
Increments the value of an item in the cache by the specified value. The cache key prefix is prepended to the key before incrementing.
decrement($key, $value = 1)
Decrements the value of an item in the cache by the specified value. The cache key prefix is prepended to the key before decrementing.
forever($key, $value)
Stores an item in the cache indefinitely (i.e., without an expiration time). Equivalent to calling put($key, $value, 0)
.
forget($key)
Removes an item from the cache by its key. The cache key prefix is prepended to the key before deletion.
flush()
Removes all items from the cache.
getPrefix()
Returns the cache key prefix.
END
<?php
namespace Illuminate\Cache;
class ApcStore extends TaggableStore
{
use RetrievesMultipleKeys;
/**
* The APC wrapper instance.
*
* @var \Illuminate\Cache\ApcWrapper
*/
protected $apc;
/**
* A string that should be prepended to keys.
*
* @var string
*/
protected $prefix;
/**
* Create a new APC store.
*
* @param \Illuminate\Cache\ApcWrapper $apc
* @param string $prefix
* @return void
*/
public function __construct(ApcWrapper $apc, $prefix = '')
{
$this->apc = $apc;
$this->prefix = $prefix;
}
/**
* Retrieve an item from the cache by key.
*
* @param string|array $key
* @return mixed
*/
public function get($key)
{
return $this->apc->get($this->prefix.$key);
}
/**
* Store an item in the cache for a given number of seconds.
*
* @param string $key
* @param mixed $value
* @param int $seconds
* @return bool
*/
public function put($key, $value, $seconds)
{
return $this->apc->put($this->prefix.$key, $value, $seconds);
}
/**
* Increment the value of an item in the cache.
*
* @param string $key
* @param mixed $value
* @return int|bool
*/
public function increment($key, $value = 1)
{
return $this->apc->increment($this->prefix.$key, $value);
}
/**
* Decrement the value of an item in the cache.
*
* @param string $key
* @param mixed $value
* @return int|bool
*/
public function decrement($key, $value = 1)
{
return $this->apc->decrement($this->prefix.$key, $value);
}
/**
* Store an item in the cache indefinitely.
*
* @param string $key
* @param mixed $value
* @return bool
*/
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 $this->apc->delete($this->prefix.$key);
}
/**
* Remove all items from the cache.
*
* @return bool
*/
public function flush()
{
return $this->apc->flush();
}
/**
* Get the cache key prefix.
*
* @return string
*/
public function getPrefix()
{
return $this->prefix;
}
}