Chris@0: . Chris@0: */ Chris@0: Chris@0: namespace Doctrine\Common\Cache; Chris@0: Chris@0: /** Chris@0: * WinCache cache provider. Chris@0: * Chris@0: * @link www.doctrine-project.org Chris@0: * @since 2.2 Chris@0: * @author Benjamin Eberlei Chris@0: * @author Guilherme Blanco Chris@0: * @author Jonathan Wage Chris@0: * @author Roman Borschel Chris@0: * @author David Abdemoulaie Chris@0: */ Chris@0: class WinCacheCache extends CacheProvider Chris@0: { Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doFetch($id) Chris@0: { Chris@0: return wincache_ucache_get($id); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doContains($id) Chris@0: { Chris@0: return wincache_ucache_exists($id); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doSave($id, $data, $lifeTime = 0) Chris@0: { Chris@0: return wincache_ucache_set($id, $data, $lifeTime); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doDelete($id) Chris@0: { Chris@0: return wincache_ucache_delete($id); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doFlush() Chris@0: { Chris@0: return wincache_ucache_clear(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doFetchMultiple(array $keys) Chris@0: { Chris@0: return wincache_ucache_get($keys); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doSaveMultiple(array $keysAndValues, $lifetime = 0) Chris@0: { Chris@0: $result = wincache_ucache_set($keysAndValues, null, $lifetime); Chris@0: Chris@0: return empty($result); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function doGetStats() Chris@0: { Chris@0: $info = wincache_ucache_info(); Chris@0: $meminfo = wincache_ucache_meminfo(); Chris@0: Chris@0: return array( Chris@0: Cache::STATS_HITS => $info['total_hit_count'], Chris@0: Cache::STATS_MISSES => $info['total_miss_count'], Chris@0: Cache::STATS_UPTIME => $info['total_cache_uptime'], Chris@0: Cache::STATS_MEMORY_USAGE => $meminfo['memory_total'], Chris@0: Cache::STATS_MEMORY_AVAILABLE => $meminfo['memory_free'], Chris@0: ); Chris@0: } Chris@0: }