X-Git-Url: https://scripts.mit.edu/gitweb/autoinstallsdev/mediawiki.git/blobdiff_plain/19e297c21b10b1b8a3acad5e73fc71dcb35db44a..6932310fd58ebef145fa01eb76edf7150284d8ea:/includes/libs/objectcache/MemcachedPhpBagOStuff.php diff --git a/includes/libs/objectcache/MemcachedPhpBagOStuff.php b/includes/libs/objectcache/MemcachedPhpBagOStuff.php new file mode 100644 index 00000000..971406cf --- /dev/null +++ b/includes/libs/objectcache/MemcachedPhpBagOStuff.php @@ -0,0 +1,75 @@ +applyDefaultParams( $params ); + + $this->client = new MemcachedClient( $params ); + $this->client->set_servers( $params['servers'] ); + $this->client->set_debug( $params['debug'] ); + } + + public function setDebug( $debug ) { + $this->client->set_debug( $debug ); + } + + public function getMulti( array $keys, $flags = 0 ) { + foreach ( $keys as $key ) { + $this->validateKeyEncoding( $key ); + } + + return $this->client->get_multi( $keys ); + } + + public function incr( $key, $value = 1 ) { + $this->validateKeyEncoding( $key ); + + $ret = $this->client->incr( $key, $value ); + return $ret !== null ? $ret : false; + } + + public function decr( $key, $value = 1 ) { + $this->validateKeyEncoding( $key ); + + $ret = $this->client->decr( $key, $value ); + return $ret !== null ? $ret : false; + } +}