Skip to content
Snippets Groups Projects
Commit 531c1c50 authored by Bart Visscher's avatar Bart Visscher
Browse files

Cache: Add APC and XCache to global cache handler

parent 4e4a1a42
Branches
No related tags found
No related merge requests found
......@@ -12,7 +12,17 @@ class OC_Cache {
static public function getGlobalCache() {
if (!self::$global_cache) {
$fast_cache = null;
if (!$fast_cache && function_exists('xcache_set')) {
$fast_cache = new OC_Cache_XCache(true);
}
if (!$fast_cache && function_exists('apc_store')) {
$fast_cache = new OC_Cache_APC(true);
}
self::$global_cache = new OC_Cache_FileGlobal();
if ($fast_cache) {
self::$global_cache = new OC_Cache_Broker($fast_cache, self::$global_cache);
}
}
return self::$global_cache;
}
......
......@@ -7,11 +7,20 @@
*/
class OC_Cache_APC {
protected $prefix;
public function __construct($global = false) {
$this->prefix = OC_Util::getInstanceId().'/';
if (!$global) {
$this->prefix .= OC_User::getUser().'/';
}
}
/**
* entries in APC gets namespaced to prevent collisions between owncloud instances and users
*/
protected function getNameSpace() {
return OC_Util::getInstanceId().'/'.OC_User::getUser().'/';
return $this->prefix;
}
public function get($key) {
......
......@@ -7,11 +7,20 @@
*/
class OC_Cache_XCache {
protected $prefix;
public function __construct($global = false) {
$this->prefix = OC_Util::getInstanceId().'/';
if (!$global) {
$this->prefix .= OC_User::getUser().'/';
}
}
/**
* entries in XCache gets namespaced to prevent collisions between owncloud instances and users
*/
protected function getNameSpace() {
return OC_Util::getInstanceId().'/'.OC_User::getUser().'/';
return $this->prefix;
}
public function get($key) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment