From 0fb6f88a2e9d9dd0010455402c1510cc91a0371b Mon Sep 17 00:00:00 2001 From: mark_story Date: Sun, 29 Jan 2012 13:25:06 -0500 Subject: [PATCH] Split Cache + CacheEngine into separate files. Refs #2514 --- lib/Cake/Cache/Cache.php | 123 +----------------------------- lib/Cake/Cache/CacheEngine.php | 132 +++++++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+), 122 deletions(-) create mode 100644 lib/Cake/Cache/CacheEngine.php diff --git a/lib/Cake/Cache/Cache.php b/lib/Cake/Cache/Cache.php index 351fb73b1..1bed46a8d 100644 --- a/lib/Cake/Cache/Cache.php +++ b/lib/Cake/Cache/Cache.php @@ -1,10 +1,5 @@ settings = array_merge( - array('prefix' => 'cake_', 'duration' => 3600, 'probability' => 100), - $this->settings, - $settings - ); - if (!is_numeric($this->settings['duration'])) { - $this->settings['duration'] = strtotime($this->settings['duration']) - time(); - } - return true; - } - -/** - * Garbage collection - * - * Permanently remove all expired and deleted data - * @return void - */ - public function gc() { } - -/** - * Write value for a key into cache - * - * @param string $key Identifier for the data - * @param mixed $value Data to be cached - * @param mixed $duration How long to cache for. - * @return boolean True if the data was successfully cached, false on failure - */ - abstract public function write($key, $value, $duration); - -/** - * Read a key from the cache - * - * @param string $key Identifier for the data - * @return mixed The cached data, or false if the data doesn't exist, has expired, or if there was an error fetching it - */ - abstract public function read($key); - -/** - * Increment a number under the key and return incremented value - * - * @param string $key Identifier for the data - * @param integer $offset How much to add - * @return New incremented value, false otherwise - */ - abstract public function increment($key, $offset = 1); - -/** - * Decrement a number under the key and return decremented value - * - * @param string $key Identifier for the data - * @param integer $offset How much to subtract - * @return New incremented value, false otherwise - */ - abstract public function decrement($key, $offset = 1); - -/** - * Delete a key from the cache - * - * @param string $key Identifier for the data - * @return boolean True if the value was successfully deleted, false if it didn't exist or couldn't be removed - */ - abstract public function delete($key); - -/** - * Delete all keys from the cache - * - * @param boolean $check if true will check expiration, otherwise delete all - * @return boolean True if the cache was successfully cleared, false otherwise - */ - abstract public function clear($check); - -/** - * Cache Engine settings - * - * @return array settings - */ - public function settings() { - return $this->settings; - } - -/** - * Generates a safe key for use with cache engine storage engines. - * - * @param string $key the key passed over - * @return mixed string $key or false - */ - public function key($key) { - if (empty($key)) { - return false; - } - $key = Inflector::underscore(str_replace(array(DS, '/', '.'), '_', strval($key))); - return $key; - } -} diff --git a/lib/Cake/Cache/CacheEngine.php b/lib/Cake/Cache/CacheEngine.php new file mode 100644 index 000000000..0b0e1b625 --- /dev/null +++ b/lib/Cake/Cache/CacheEngine.php @@ -0,0 +1,132 @@ +settings = array_merge( + array('prefix' => 'cake_', 'duration' => 3600, 'probability' => 100), + $this->settings, + $settings + ); + if (!is_numeric($this->settings['duration'])) { + $this->settings['duration'] = strtotime($this->settings['duration']) - time(); + } + return true; + } + +/** + * Garbage collection + * + * Permanently remove all expired and deleted data + * @return void + */ + public function gc() { } + +/** + * Write value for a key into cache + * + * @param string $key Identifier for the data + * @param mixed $value Data to be cached + * @param mixed $duration How long to cache for. + * @return boolean True if the data was successfully cached, false on failure + */ + abstract public function write($key, $value, $duration); + +/** + * Read a key from the cache + * + * @param string $key Identifier for the data + * @return mixed The cached data, or false if the data doesn't exist, has expired, or if there was an error fetching it + */ + abstract public function read($key); + +/** + * Increment a number under the key and return incremented value + * + * @param string $key Identifier for the data + * @param integer $offset How much to add + * @return New incremented value, false otherwise + */ + abstract public function increment($key, $offset = 1); + +/** + * Decrement a number under the key and return decremented value + * + * @param string $key Identifier for the data + * @param integer $offset How much to subtract + * @return New incremented value, false otherwise + */ + abstract public function decrement($key, $offset = 1); + +/** + * Delete a key from the cache + * + * @param string $key Identifier for the data + * @return boolean True if the value was successfully deleted, false if it didn't exist or couldn't be removed + */ + abstract public function delete($key); + +/** + * Delete all keys from the cache + * + * @param boolean $check if true will check expiration, otherwise delete all + * @return boolean True if the cache was successfully cleared, false otherwise + */ + abstract public function clear($check); + +/** + * Cache Engine settings + * + * @return array settings + */ + public function settings() { + return $this->settings; + } + +/** + * Generates a safe key for use with cache engine storage engines. + * + * @param string $key the key passed over + * @return mixed string $key or false + */ + public function key($key) { + if (empty($key)) { + return false; + } + $key = Inflector::underscore(str_replace(array(DS, '/', '.'), '_', strval($key))); + return $key; + } +}