<?php namespace Doctrine\Common\Cache; use function apc_cache_info; use function apc_clear_cache; use function apc_delete; use function apc_exists; use function apc_fetch; use function apc_sma_info; use function apc_store; use const PHP_VERSION_ID; /** * APC cache provider. * * @deprecated since version 1.6, use ApcuCache instead * * @link www.doctrine-project.org */ 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 apc_store($id, $data, $lifeTime); } /** * {@inheritdoc} */ protected function doDelete($id) { // apc_delete returns false if the id does not exist return apc_delete($id) || ! apc_exists($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 doSaveMultiple(array $keysAndValues, $lifetime = 0) { $result = apc_store($keysAndValues, null, $lifetime); return empty($result); } /** * {@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'] = $info['num_hits'] ?? $info['nhits']; $info['num_misses'] = $info['num_misses'] ?? $info['nmisses']; $info['start_time'] = $info['start_time'] ?? $info['stime']; } return [ 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'], ]; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Psr6 | Folder | 0755 |
|
|
ApcCache.php | File | 2.33 KB | 0644 |
|
ApcuCache.php | File | 2.22 KB | 0644 |
|
ArrayCache.php | File | 2.17 KB | 0644 |
|
Cache.php | File | 2.73 KB | 0644 |
|
CacheProvider.php | File | 8.28 KB | 0644 |
|
ChainCache.php | File | 4.84 KB | 0644 |
|
ClearableCache.php | File | 501 B | 0644 |
|
CouchbaseBucketCache.php | File | 4.67 KB | 0644 |
|
CouchbaseCache.php | File | 2.27 KB | 0644 |
|
ExtMongoDBCache.php | File | 5.22 KB | 0644 |
|
FileCache.php | File | 8 KB | 0644 |
|
FilesystemCache.php | File | 2.12 KB | 0644 |
|
FlushableCache.php | File | 350 B | 0644 |
|
InvalidCacheId.php | File | 970 B | 0644 |
|
LegacyMongoDBCache.php | File | 4.69 KB | 0644 |
|
MemcacheCache.php | File | 2.16 KB | 0644 |
|
MemcachedCache.php | File | 3.86 KB | 0644 |
|
MongoDBCache.php | File | 3.23 KB | 0644 |
|
MultiDeleteCache.php | File | 466 B | 0644 |
|
MultiGetCache.php | File | 593 B | 0644 |
|
MultiOperationCache.php | File | 251 B | 0644 |
|
MultiPutCache.php | File | 704 B | 0644 |
|
PhpFileCache.php | File | 2.72 KB | 0644 |
|
PredisCache.php | File | 3.35 KB | 0644 |
|
RedisCache.php | File | 4.36 KB | 0644 |
|
RiakCache.php | File | 6.65 KB | 0644 |
|
SQLite3Cache.php | File | 4.66 KB | 0644 |
|
Version.php | File | 211 B | 0644 |
|
VoidCache.php | File | 994 B | 0644 |
|
WinCacheCache.php | File | 2.34 KB | 0644 |
|
XcacheCache.php | File | 2.16 KB | 0644 |
|
ZendDataCache.php | File | 1.32 KB | 0644 |
|