From fe86182dac387817258942a46905f2b801862d4d Mon Sep 17 00:00:00 2001 From: Thomas Tanghus Date: Tue, 17 Sep 2013 17:46:33 +0200 Subject: OC_Cache namespace changes and add UserCache to server container. Refs #4863 --- lib/cache/broker.php | 4 ++- lib/cache/file.php | 13 ++++---- lib/cache/fileglobal.php | 7 +++-- lib/cache/fileglobalgc.php | 5 +-- lib/cache/usercache.php | 77 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 94 insertions(+), 12 deletions(-) create mode 100644 lib/cache/usercache.php (limited to 'lib/cache') diff --git a/lib/cache/broker.php b/lib/cache/broker.php index a161dbfa3bb..b7f1b67a6d3 100644 --- a/lib/cache/broker.php +++ b/lib/cache/broker.php @@ -6,7 +6,9 @@ * See the COPYING-README file. */ -class OC_Cache_Broker { +namespace OC\Cache; + +class Broker { protected $fast_cache; protected $slow_cache; diff --git a/lib/cache/file.php b/lib/cache/file.php index 361138e4736..2ab914d17b8 100644 --- a/lib/cache/file.php +++ b/lib/cache/file.php @@ -6,24 +6,25 @@ * See the COPYING-README file. */ +namespace OC\Cache; -class OC_Cache_File{ +class File { protected $storage; protected function getStorage() { if (isset($this->storage)) { return $this->storage; } - if(OC_User::isLoggedIn()) { - \OC\Files\Filesystem::initMountPoints(OC_User::getUser()); + if(\OC_User::isLoggedIn()) { + \OC\Files\Filesystem::initMountPoints(\OC_User::getUser()); $subdir = 'cache'; - $view = new \OC\Files\View('/'.OC_User::getUser()); + $view = new \OC\Files\View('/' . \OC_User::getUser()); if(!$view->file_exists($subdir)) { $view->mkdir($subdir); } - $this->storage = new \OC\Files\View('/'.OC_User::getUser().'/'.$subdir); + $this->storage = new \OC\Files\View('/' . \OC_User::getUser().'/'.$subdir); return $this->storage; }else{ - OC_Log::write('core', 'Can\'t get cache storage, user not logged in', OC_Log::ERROR); + \OC_Log::write('core', 'Can\'t get cache storage, user not logged in', \OC_Log::ERROR); return false; } } diff --git a/lib/cache/fileglobal.php b/lib/cache/fileglobal.php index c0bd8e45f39..9ca17402933 100644 --- a/lib/cache/fileglobal.php +++ b/lib/cache/fileglobal.php @@ -6,8 +6,9 @@ * See the COPYING-README file. */ +namespace OC\Cache; -class OC_Cache_FileGlobal{ +class FileGlobal { static protected function getCacheDir() { $cache_dir = get_temp_dir().'/owncloud-'.OC_Util::getInstanceId().'/'; if (!is_dir($cache_dir)) { @@ -80,13 +81,13 @@ class OC_Cache_FileGlobal{ } static public function gc() { - $last_run = OC_AppConfig::getValue('core', 'global_cache_gc_lastrun', 0); + $last_run = \OC_AppConfig::getValue('core', 'global_cache_gc_lastrun', 0); $now = time(); if (($now - $last_run) < 300) { // only do cleanup every 5 minutes return; } - OC_AppConfig::setValue('core', 'global_cache_gc_lastrun', $now); + \OC_AppConfig::setValue('core', 'global_cache_gc_lastrun', $now); $cache_dir = self::getCacheDir(); if($cache_dir and is_dir($cache_dir)) { $dh=opendir($cache_dir); diff --git a/lib/cache/fileglobalgc.php b/lib/cache/fileglobalgc.php index a29c31f9063..399dd5e6f94 100644 --- a/lib/cache/fileglobalgc.php +++ b/lib/cache/fileglobalgc.php @@ -1,8 +1,9 @@ userCache = new File(); + } + + /** + * Get a value from the user cache + * + * @param string $key + * @return mixed + */ + public function get($key) { + return $this->userCache->get($key); + } + + /** + * Set a value in the user cache + * + * @param string $key + * @param mixed $value + * @param int $ttl Time To Live in seconds. Defaults to 60*60*24 + * @return bool + */ + public function set($key, $value, $ttl = 0) { + if (empty($key)) { + return false; + } + return $this->userCache->set($key, $value, $ttl); + } + + /** + * Check if a value is set in the user cache + * + * @param string $key + * @return bool + */ + public function hasKey($key) { + return $this->userCache->hasKey($key); + } + + /** + * Remove an item from the user cache + * + * @param string $key + * @return bool + */ + public function remove($key) { + return $this->userCache->remove($key); + } + + /** + * clear the user cache of all entries starting with a prefix + * @param string prefix (optional) + * @return bool + */ + public function clear($prefix = '') { + return $this->userCache->clear($prefix); + } +} -- cgit v1.2.3 From 09d043729a41a0e8966ed3bb81567ed1009a37b6 Mon Sep 17 00:00:00 2001 From: Thomas Tanghus Date: Wed, 18 Sep 2013 15:02:25 +0200 Subject: Note to self 2: Do as you preach. Test! --- lib/base.php | 2 +- lib/cache.php | 6 +++--- lib/cache/fileglobal.php | 2 +- lib/legacy/cache.php | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'lib/cache') diff --git a/lib/base.php b/lib/base.php index fd31cfd9f29..0650361be91 100644 --- a/lib/base.php +++ b/lib/base.php @@ -570,7 +570,7 @@ class OC { } // NOTE: This will be replaced to use OCP $userSession = \OC_User::getUserSession(); - $userSession->listen('postLogin', array('OC\Cache\File', 'loginListener')); + $userSession->listen('postLogin', '\OC\Cache\File', 'loginListener'); } } diff --git a/lib/cache.php b/lib/cache.php index c99663a0ca5..a4fa8be710c 100644 --- a/lib/cache.php +++ b/lib/cache.php @@ -6,7 +6,7 @@ * See the COPYING-README file. */ -namespace OC\Cache; +namespace OC; class Cache { /** @@ -24,7 +24,7 @@ class Cache { */ static public function getGlobalCache() { if (!self::$global_cache) { - self::$global_cache = new FileGlobal(); + self::$global_cache = new Cache\FileGlobal(); } return self::$global_cache; } @@ -35,7 +35,7 @@ class Cache { */ static public function getUserCache() { if (!self::$user_cache) { - self::$user_cache = new File(); + self::$user_cache = new Cache\File(); } return self::$user_cache; } diff --git a/lib/cache/fileglobal.php b/lib/cache/fileglobal.php index 9ca17402933..bd049bba4d0 100644 --- a/lib/cache/fileglobal.php +++ b/lib/cache/fileglobal.php @@ -10,7 +10,7 @@ namespace OC\Cache; class FileGlobal { static protected function getCacheDir() { - $cache_dir = get_temp_dir().'/owncloud-'.OC_Util::getInstanceId().'/'; + $cache_dir = get_temp_dir().'/owncloud-' . \OC_Util::getInstanceId().'/'; if (!is_dir($cache_dir)) { mkdir($cache_dir); } diff --git a/lib/legacy/cache.php b/lib/legacy/cache.php index 83b214170f7..f915eb516b1 100644 --- a/lib/legacy/cache.php +++ b/lib/legacy/cache.php @@ -6,5 +6,5 @@ * See the COPYING-README file. */ -class Cache extends OC\Cache { +class OC_Cache extends \OC\Cache { } \ No newline at end of file -- cgit v1.2.3 From 1274d6116dc59a8238ad9d02d467260387fe2eac Mon Sep 17 00:00:00 2001 From: Thomas Müller Date: Wed, 18 Sep 2013 22:22:51 +0200 Subject: updating php docs --- lib/cache.php | 15 ++++++++++----- lib/cache/broker.php | 8 ++++++++ lib/cache/usercache.php | 4 ++-- lib/public/icache.php | 2 +- tests/lib/cache.php | 2 +- 5 files changed, 22 insertions(+), 9 deletions(-) (limited to 'lib/cache') diff --git a/lib/cache.php b/lib/cache.php index a4fa8be710c..a311f10a00f 100644 --- a/lib/cache.php +++ b/lib/cache.php @@ -10,17 +10,17 @@ namespace OC; class Cache { /** - * @var OC_Cache $user_cache + * @var Cache $user_cache */ static protected $user_cache; /** - * @var OC_Cache $global_cache + * @var Cache $global_cache */ static protected $global_cache; /** * get the global cache - * @return OC_Cache + * @return Cache */ static public function getGlobalCache() { if (!self::$global_cache) { @@ -31,7 +31,7 @@ class Cache { /** * get the user cache - * @return OC_Cache + * @return Cache */ static public function getUserCache() { if (!self::$user_cache) { @@ -87,7 +87,7 @@ class Cache { /** * clear the user cache of all entries starting with a prefix - * @param string prefix (optional) + * @param string $prefix (optional) * @return bool */ static public function clear($prefix='') { @@ -95,6 +95,11 @@ class Cache { return $user_cache->clear($prefix); } + /** + * creates cache key based on the files given + * @param $files + * @return string + */ static public function generateCacheKeyFromFiles($files) { $key = ''; sort($files); diff --git a/lib/cache/broker.php b/lib/cache/broker.php index b7f1b67a6d3..9b7e837e1bc 100644 --- a/lib/cache/broker.php +++ b/lib/cache/broker.php @@ -9,7 +9,15 @@ namespace OC\Cache; class Broker { + + /** + * @var \OC\Cache + */ protected $fast_cache; + + /** + * @var \OC\Cache + */ protected $slow_cache; public function __construct($fast_cache, $slow_cache) { diff --git a/lib/cache/usercache.php b/lib/cache/usercache.php index aac3b39af33..baa8820700b 100644 --- a/lib/cache/usercache.php +++ b/lib/cache/usercache.php @@ -13,7 +13,7 @@ namespace OC\Cache; class UserCache implements \OCP\ICache { /** - * @var OC\Cache\File $userCache + * @var \OC\Cache\File $userCache */ protected $userCache; @@ -68,7 +68,7 @@ class UserCache implements \OCP\ICache { /** * clear the user cache of all entries starting with a prefix - * @param string prefix (optional) + * @param string $prefix (optional) * @return bool */ public function clear($prefix = '') { diff --git a/lib/public/icache.php b/lib/public/icache.php index 202459f7c24..436ee71b2b9 100644 --- a/lib/public/icache.php +++ b/lib/public/icache.php @@ -48,7 +48,7 @@ interface ICache { /** * clear the user cache of all entries starting with a prefix - * @param string prefix (optional) + * @param string $prefix (optional) * @return bool */ public function clear($prefix = ''); diff --git a/tests/lib/cache.php b/tests/lib/cache.php index 3dcf39f7d60..8fefa25f65d 100644 --- a/tests/lib/cache.php +++ b/tests/lib/cache.php @@ -8,7 +8,7 @@ abstract class Test_Cache extends PHPUnit_Framework_TestCase { /** - * @var OC_Cache cache; + * @var \OC\Cache cache; */ protected $instance; -- cgit v1.2.3