Memcache\Factory: Remove static, use globalPrefix.

This commit is contained in:
Andreas Fischer 2014-07-29 11:14:36 +02:00
parent da391b8932
commit 9be8ac5867
2 changed files with 14 additions and 4 deletions

View File

@ -477,9 +477,18 @@ class OC {
self::handleAuthHeaders();
self::initPaths();
if (OC_Config::getValue('instanceid', false)) {
// The class loader takes an optional low-latency cache, which MUST be
// namespaced. The instanceid is used for namespacing, but might be
// unavailable at this point. Futhermore, it might not be possible to
// generate an instanceid via \OC_Util::getInstanceId() because the
// config file may not be writable. As such, we only register a class
// loader cache if instanceid is available without trying to create one.
$instanceId = OC_Config::getValue('instanceid', null);
if ($instanceId) {
try {
self::$loader->setMemoryCache(\OC\Memcache\Factory::createLowLatency('Autoloader'));
$memcacheFactory = new \OC\Memcache\Factory($instanceId);
self::$loader->setMemoryCache($memcacheFactory->createLowLatency('Autoloader'));
} catch (\Exception $ex) {
}
}

View File

@ -59,7 +59,8 @@ class Factory implements ICacheFactory {
* @param string $prefix
* @return null|Cache
*/
public static function createLowLatency($prefix = '') {
public function createLowLatency($prefix = '') {
$prefix = $this->globalPrefix . '/' . $prefix;
if (XCache::isAvailable()) {
return new XCache($prefix);
} elseif (APCu::isAvailable()) {
@ -76,7 +77,7 @@ class Factory implements ICacheFactory {
*
* @return bool
*/
public static function isAvailableLowLatency() {
public function isAvailableLowLatency() {
return XCache::isAvailable() || APCu::isAvailable() || APC::isAvailable();
}