class SysVCacheItemPool implements CacheItemPoolInterface (View source)

SystemV shared memory based CacheItemPool implementation.

This CacheItemPool implementation can be used among multiple processes, but it doesn't provide any locking mechanism. If multiple processes write to this ItemPool, you have to avoid race condition manually in your code.

Constants

VAR_KEY

DEFAULT_PROJ

DEFAULT_MEMSIZE

DEFAULT_PERM

Methods

__construct(array $options = [])

Create a SystemV shared memory based CacheItemPool.

CacheItemInterface
getItem(string $key)

No description

array|Traversable
getItems(array $keys = [])

No description

bool
hasItem(string $key)

Confirms if the cache contains specified cache item.

bool
clear()

Deletes all items in the pool.

bool
deleteItem(string $key)

Removes the item from the pool.

bool
deleteItems(array $keys)

Removes multiple items from the pool.

bool
save(CacheItemInterface $item)

Persists a cache item immediately.

bool
saveDeferred(CacheItemInterface $item)

Sets a cache item to be persisted later.

bool
commit()

Persists any deferred cache items.

Details

__construct(array $options = [])

Create a SystemV shared memory based CacheItemPool.

Parameters

array $options { [optional] Configuration options.

@type int    $variableKey The variable key for getting the data from the shared memory. **Defaults to** 1.
@type string $proj        The project identifier for ftok. This needs to be a one character string.
                          **Defaults to** 'A'.
@type int    $memsize     The memory size in bytes for shm_attach. **Defaults to** 10000.
@type int    $perm        The permission for shm_attach. **Defaults to** 0600.

}

CacheItemInterface getItem(string $key)

Parameters

string $key The key for which to return the corresponding Cache Item.

Return Value

CacheItemInterface The corresponding Cache Item.

array|Traversable getItems(array $keys = [])

Parameters

array $keys An indexed array of keys of items to retrieve.

Return Value

array|Traversable A traversable collection of Cache Items keyed by the cache keys of each item. A Cache item will be returned for each key, even if that key is not found. However, if no keys are specified then an empty traversable MUST be returned instead.

bool hasItem(string $key)

Confirms if the cache contains specified cache item.

Note: This method MAY avoid retrieving the cached value for performance reasons. This could result in a race condition with CacheItemInterface::get(). To avoid such situation use CacheItemInterface::isHit() instead.

Parameters

string $key The key for which to check existence.

Return Value

bool True if item exists in the cache, false otherwise.

Exceptions

InvalidArgumentException If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException MUST be thrown.

bool clear()

Deletes all items in the pool.

Return Value

bool True if the pool was successfully cleared. False if there was an error.

bool deleteItem(string $key)

Removes the item from the pool.

Parameters

string $key The key to delete.

Return Value

bool True if the item was successfully removed. False if there was an error.

Exceptions

InvalidArgumentException If the $key string is not a legal value a \Psr\Cache\InvalidArgumentException MUST be thrown.

bool deleteItems(array $keys)

Removes multiple items from the pool.

Parameters

array $keys An array of keys that should be removed from the pool.

Return Value

bool True if the items were successfully removed. False if there was an error.

Exceptions

InvalidArgumentException If any of the keys in $keys are not a legal value a \Psr\Cache\InvalidArgumentException MUST be thrown.

bool save(CacheItemInterface $item)

Persists a cache item immediately.

Parameters

CacheItemInterface $item The cache item to save.

Return Value

bool True if the item was successfully persisted. False if there was an error.

bool saveDeferred(CacheItemInterface $item)

Sets a cache item to be persisted later.

Parameters

CacheItemInterface $item The cache item to save.

Return Value

bool False if the item could not be queued or if a commit was attempted and failed. True otherwise.

bool commit()

Persists any deferred cache items.

Return Value

bool True if all not-yet-saved items were successfully saved or there were none. False otherwise.