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;
}
*/
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) {
*/
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) {