Files
assets
backup
bin
cache
grav-admin
images
logs
pages
system
tmp
user
vendor
antoligy
bin
composer
doctrine
cache
lib
Doctrine
Common
Cache
ApcCache.php
ApcuCache.php
ArrayCache.php
Cache.php
CacheProvider.php
ChainCache.php
ClearableCache.php
CouchbaseBucketCache.php
CouchbaseCache.php
ExtMongoDBCache.php
FileCache.php
FilesystemCache.php
FlushableCache.php
InvalidCacheId.php
LegacyMongoDBCache.php
MemcacheCache.php
MemcachedCache.php
MongoDBCache.php
MultiDeleteCache.php
MultiGetCache.php
MultiOperationCache.php
MultiPutCache.php
PhpFileCache.php
PredisCache.php
RedisCache.php
SQLite3Cache.php
Version.php
VoidCache.php
WinCacheCache.php
XcacheCache.php
ZendDataCache.php
LICENSE
README.md
UPGRADE.md
collections
donatj
dragonmantank
erusev
filp
gregwar
guzzlehttp
kodus
league
matthiasmullie
maximebf
miljar
monolog
nyholm
phive
php-http
pimple
psr
ralouphie
rockettheme
seld
symfony
twig
willdurand
autoload.php
webserver-configs
.htaccess
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.txt
README.md
composer.json
composer.lock
index.php
now.json
robots.txt
dedijk4/vendor/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php
2020-02-19 16:42:35 +01:00

107 lines
2.2 KiB
PHP

<?php
namespace Doctrine\Common\Cache;
use function count;
use function is_array;
use function wincache_ucache_clear;
use function wincache_ucache_delete;
use function wincache_ucache_exists;
use function wincache_ucache_get;
use function wincache_ucache_info;
use function wincache_ucache_meminfo;
use function wincache_ucache_set;
/**
* WinCache cache provider.
*
* @link www.doctrine-project.org
*/
class WinCacheCache extends CacheProvider
{
/**
* {@inheritdoc}
*/
protected function doFetch($id)
{
return wincache_ucache_get($id);
}
/**
* {@inheritdoc}
*/
protected function doContains($id)
{
return wincache_ucache_exists($id);
}
/**
* {@inheritdoc}
*/
protected function doSave($id, $data, $lifeTime = 0)
{
return wincache_ucache_set($id, $data, $lifeTime);
}
/**
* {@inheritdoc}
*/
protected function doDelete($id)
{
return wincache_ucache_delete($id);
}
/**
* {@inheritdoc}
*/
protected function doFlush()
{
return wincache_ucache_clear();
}
/**
* {@inheritdoc}
*/
protected function doFetchMultiple(array $keys)
{
return wincache_ucache_get($keys);
}
/**
* {@inheritdoc}
*/
protected function doSaveMultiple(array $keysAndValues, $lifetime = 0)
{
$result = wincache_ucache_set($keysAndValues, null, $lifetime);
return empty($result);
}
/**
* {@inheritdoc}
*/
protected function doDeleteMultiple(array $keys)
{
$result = wincache_ucache_delete($keys);
return is_array($result) && count($result) !== count($keys);
}
/**
* {@inheritdoc}
*/
protected function doGetStats()
{
$info = wincache_ucache_info();
$meminfo = wincache_ucache_meminfo();
return [
Cache::STATS_HITS => $info['total_hit_count'],
Cache::STATS_MISSES => $info['total_miss_count'],
Cache::STATS_UPTIME => $info['total_cache_uptime'],
Cache::STATS_MEMORY_USAGE => $meminfo['memory_total'],
Cache::STATS_MEMORY_AVAILABLE => $meminfo['memory_free'],
];
}
}