Blame view
sources/lib/private/memcache/xcache.php
1.32 KB
|
03e52840d
|
1 2 3 4 5 6 7 |
<?php /** * Copyright (c) 2012 Bart Visscher <bartv@thisnet.nl> * This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ |
|
31b7f2792
|
8 |
namespace OC\Memcache; |
|
03e52840d
|
9 |
|
|
31b7f2792
|
10 |
class XCache extends Cache {
|
|
03e52840d
|
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
/**
* entries in XCache gets namespaced to prevent collisions between owncloud instances and users
*/
protected function getNameSpace() {
return $this->prefix;
}
public function get($key) {
return xcache_get($this->getNamespace().$key);
}
public function set($key, $value, $ttl=0) {
if($ttl>0) {
return xcache_set($this->getNamespace().$key, $value, $ttl);
}else{
return xcache_set($this->getNamespace().$key, $value);
}
}
public function hasKey($key) {
return xcache_isset($this->getNamespace().$key);
}
public function remove($key) {
return xcache_unset($this->getNamespace().$key);
}
public function clear($prefix='') {
|
|
03e52840d
|
39 40 41 |
xcache_unset_by_prefix($this->getNamespace().$prefix); return true; } |
|
31b7f2792
|
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
static public function isAvailable(){
if (!extension_loaded('xcache')) {
return false;
} elseif (\OC::$CLI) {
return false;
}else{
return true;
}
}
}
if(!function_exists('xcache_unset_by_prefix')) {
function xcache_unset_by_prefix($prefix) {
// Since we can't clear targetted cache, we'll clear all. :(
xcache_clear_cache(\XC_TYPE_VAR, 0);
}
|
|
03e52840d
|
59 |
} |