public function getItems(array $keys = array()) { if (empty($keys)) { return array(); } $found = array_intersect_key(self::$pool, $keys); $find = array_diff($keys, array_keys($found)); $res = CacheItem::find($find); if (!empty($res)) { self::$pool = array_merge(self::$pool, $res); } return array_intersect_key(self::$pool, $keys); }