split out memcache factory from base class
This commit is contained in:
parent
0ae8eb4f5e
commit
d82c1dfcab
|
@ -9,23 +9,7 @@
|
|||
namespace OC\Memcache;
|
||||
|
||||
abstract class Cache {
|
||||
/**
|
||||
* get a cache instance
|
||||
*
|
||||
* @param bool $global
|
||||
* @return Cache
|
||||
*/
|
||||
static function create($global = false) {
|
||||
if (XCache::isAvailable()) {
|
||||
return new XCache($global);
|
||||
} elseif (APC::isAvailable()) {
|
||||
return new APC($global);
|
||||
} elseif (Memcached::isAvailable()) {
|
||||
return new Memcached($global);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param bool $global
|
||||
|
@ -63,11 +47,4 @@ abstract class Cache {
|
|||
* @return mixed
|
||||
*/
|
||||
abstract public function clear($prefix = '');
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
static public function isAvailable() {
|
||||
return XCache::isAvailable() || APC::isAvailable() || Memcached::isAvailable();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
/**
|
||||
* Copyright (c) 2013 Robin Appelman <icewind@owncloud.com>
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
namespace OC\Memcache;
|
||||
|
||||
class Factory {
|
||||
/**
|
||||
* get a cache instance, will return null if no backend is available
|
||||
*
|
||||
* @param bool $global
|
||||
* @return \OC\Memcache\Cache
|
||||
*/
|
||||
function create($global = false) {
|
||||
if (XCache::isAvailable()) {
|
||||
return new XCache($global);
|
||||
} elseif (APC::isAvailable()) {
|
||||
return new APC($global);
|
||||
} elseif (Memcached::isAvailable()) {
|
||||
return new Memcached($global);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* check if there is a memcache backend available
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isAvailable() {
|
||||
return XCache::isAvailable() || APC::isAvailable() || Memcached::isAvailable();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue