You are here

class ApcCache in Zircon Profile 8.0

Same name in this branch
  1. 8.0 vendor/symfony/validator/Mapping/Cache/ApcCache.php \Symfony\Component\Validator\Mapping\Cache\ApcCache
  2. 8.0 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php \Doctrine\Common\Cache\ApcCache
Same name and namespace in other branches
  1. 8 vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php \Doctrine\Common\Cache\ApcCache

APC cache provider.

@link www.doctrine-project.org @since 2.0 @author Benjamin Eberlei <kontakt@beberlei.de> @author Guilherme Blanco <guilhermeblanco@hotmail.com> @author Jonathan Wage <jonwage@gmail.com> @author Roman Borschel <roman@code-factory.org> @author David Abdemoulaie <dave@hobodave.com>

Hierarchy

Expanded class hierarchy of ApcCache

2 files declare their use of ApcCache
ApcCacheTest.php in vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ApcCacheTest.php
ChainCacheTest.php in vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php

File

vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php, line 33

Namespace

Doctrine\Common\Cache
View source
class ApcCache extends CacheProvider {

  /**
   * {@inheritdoc}
   */
  protected function doFetch($id) {
    return apc_fetch($id);
  }

  /**
   * {@inheritdoc}
   */
  protected function doContains($id) {
    return apc_exists($id);
  }

  /**
   * {@inheritdoc}
   */
  protected function doSave($id, $data, $lifeTime = 0) {
    return (bool) apc_store($id, $data, (int) $lifeTime);
  }

  /**
   * {@inheritdoc}
   */
  protected function doDelete($id) {
    return apc_delete($id);
  }

  /**
   * {@inheritdoc}
   */
  protected function doFlush() {
    return apc_clear_cache() && apc_clear_cache('user');
  }

  /**
   * {@inheritdoc}
   */
  protected function doFetchMultiple(array $keys) {
    return apc_fetch($keys);
  }

  /**
   * {@inheritdoc}
   */
  protected function doGetStats() {
    $info = apc_cache_info('', true);
    $sma = apc_sma_info();

    // @TODO - Temporary fix @see https://github.com/krakjoe/apcu/pull/42
    if (PHP_VERSION_ID >= 50500) {
      $info['num_hits'] = isset($info['num_hits']) ? $info['num_hits'] : $info['nhits'];
      $info['num_misses'] = isset($info['num_misses']) ? $info['num_misses'] : $info['nmisses'];
      $info['start_time'] = isset($info['start_time']) ? $info['start_time'] : $info['stime'];
    }
    return array(
      Cache::STATS_HITS => $info['num_hits'],
      Cache::STATS_MISSES => $info['num_misses'],
      Cache::STATS_UPTIME => $info['start_time'],
      Cache::STATS_MEMORY_USAGE => $info['mem_size'],
      Cache::STATS_MEMORY_AVAILABLE => $sma['avail_mem'],
    );
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ApcCache::doContains protected function Tests if an entry exists in the cache. Overrides CacheProvider::doContains
ApcCache::doDelete protected function Deletes a cache entry. Overrides CacheProvider::doDelete
ApcCache::doFetch protected function Fetches an entry from the cache. Overrides CacheProvider::doFetch
ApcCache::doFetchMultiple protected function Default implementation of doFetchMultiple. Each driver that supports multi-get should owerwrite it. Overrides CacheProvider::doFetchMultiple
ApcCache::doFlush protected function Flushes all cache entries. Overrides CacheProvider::doFlush
ApcCache::doGetStats protected function Retrieves cached information from the data store. Overrides CacheProvider::doGetStats
ApcCache::doSave protected function Puts data into the cache. Overrides CacheProvider::doSave
Cache::STATS_HITS constant
Cache::STATS_MEMORY_AVAILABLE constant
Cache::STATS_MEMORY_AVAILIABLE constant Only for backward compatibility (may be removed in next major release)
Cache::STATS_MEMORY_USAGE constant
Cache::STATS_MISSES constant
Cache::STATS_UPTIME constant
CacheProvider::$namespace private property The namespace to prefix all cache ids with.
CacheProvider::$namespaceVersion private property The namespace version.
CacheProvider::contains public function Tests if an entry exists in the cache. Overrides Cache::contains
CacheProvider::delete public function Deletes a cache entry. Overrides Cache::delete
CacheProvider::deleteAll public function Deletes all cache entries in the current cache namespace. Overrides ClearableCache::deleteAll
CacheProvider::DOCTRINE_NAMESPACE_CACHEKEY constant
CacheProvider::fetch public function Fetches an entry from the cache. Overrides Cache::fetch
CacheProvider::fetchMultiple public function Returns an associative array of values for keys is found in cache. Overrides MultiGetCache::fetchMultiple
CacheProvider::flushAll public function Flushes all cache entries, globally. Overrides FlushableCache::flushAll
CacheProvider::getNamespace public function Retrieves the namespace that prefixes all cache ids.
CacheProvider::getNamespaceCacheKey private function Returns the namespace cache key.
CacheProvider::getNamespacedId private function Prefixes the passed id with the configured namespace value.
CacheProvider::getNamespaceVersion private function Returns the namespace version.
CacheProvider::getStats public function Retrieves cached information from the data store. Overrides Cache::getStats
CacheProvider::save public function Puts data into the cache. Overrides Cache::save
CacheProvider::setNamespace public function Sets the namespace to prefix all cache ids with. 1