diff options
author | Robin Appelman <icewind@owncloud.com> | 2015-04-28 15:39:38 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2015-04-30 14:48:36 +0200 |
commit | 29213b6136a4b2f71e5f981e9bc08e3e76128d4e (patch) | |
tree | 986bdf2bce27ff1c2b49828625c7f632d15cb865 /lib/private/memcache/memcached.php | |
parent | d308ec4f0ea54e8cb0c99228a480da8cb7cf30a8 (diff) | |
download | nextcloud-server-29213b6136a4b2f71e5f981e9bc08e3e76128d4e.tar.gz nextcloud-server-29213b6136a4b2f71e5f981e9bc08e3e76128d4e.zip |
extends memcache with add, inc and dec
Diffstat (limited to 'lib/private/memcache/memcached.php')
-rw-r--r-- | lib/private/memcache/memcached.php | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/lib/private/memcache/memcached.php b/lib/private/memcache/memcached.php index a2b3440317f..9566e54c42b 100644 --- a/lib/private/memcache/memcached.php +++ b/lib/private/memcache/memcached.php @@ -24,7 +24,9 @@ namespace OC\Memcache; -class Memcached extends Cache { +use OCP\IMemcache; + +class Memcached extends Cache implements IMemcache { /** * @var \Memcached $cache */ @@ -100,6 +102,41 @@ class Memcached extends Cache { return true; } + /** + * Set a value in the cache if it's not already stored + * + * @param string $key + * @param mixed $value + * @param int $ttl Time To Live in seconds. Defaults to 60*60*24 + * @return bool + */ + public function add($key, $value, $ttl = 0) { + return self::$cache->add($this->getPrefix() . $key, $value, $ttl); + } + + /** + * Increase a stored number + * + * @param string $key + * @param int $step + * @return int | bool + */ + public function inc($key, $step = 1) { + $this->add($key, 0); + return self::$cache->increment($this->getPrefix() . $key, $step); + } + + /** + * Decrease a stored number + * + * @param string $key + * @param int $step + * @return int | bool + */ + public function dec($key, $step = 1) { + return self::$cache->decrement($this->getPrefix() . $key, $step); + } + static public function isAvailable() { return extension_loaded('memcached'); } |