I am working on a cache class, I would like to be able to set and get cached items from 5 different storage mediums. Memcache, APC cache, file cache, sessions, cookies. Maybe even a 6th (database could be added as a 6th).My goal is to make this flexible enough that I can use it in the future on many projects very easily (portable). I also would like to be able to set/get cache items all from calling 1 set method and 1 get method. Below is the code I have started so far which will allow me to do that. In my switch block I am not sure if I should put all the code for that cache type there or have it call another method, or have each switch block item call a completley new class/object. I am thinking that if I put each cache system in it's own class file, then my autolaoding will not need to load as much code for this if only a couple of the cache types is used on a page. I am not sure though, using autoloading for my class files, would it still load 6 different class files in the code below or would it ONLY load the files that the switch needs. For example if a page only uses the sessions cache, would my switch below only load a session class file or would PHP automaticly load all the files? It is hard to test because if I put something to try to test it in my code, then it will definately load all the files.Please give me advice and I do not want to use a framework, I am trying to learn not use an existing framework. \[code\]/*** Set a key/value to cache system.** @param string type of cache to store with* @param string|array keys, or array of values* @param mixed value (if keys is not an array)* @return void*/ public function set($type, $keys, $value = http://stackoverflow.com/questions/2098063/FALSE, $options_arr){ if (empty($keys)) return FALSE; if ( ! is_array($keys)) { $keys = array($keys => $val); } // Pick our Cache system to use switch ($type) { case"memcache": echo "Cache item to memcache"; break; case "apc": echo "Cache item to APC"; break; case "session": echo "Cache item to Sessions"; foreach ($keys as $key => $val) { // Set the key $_SESSION[$key] = $val; } break; case "cookie": echo "Cache item to Cookie"; break; case "file": echo "Cache item to File"; break; }}\[/code\]