Я пытаюсь создать какую-то новую "файловую систему" для класса обслуживания кеша PHP.Из этого я пытаюсь добиться возможности определять, какие изображения являются уникальными для каждого URL-адреса реферера с сайта, с помощью вызова типа шаблона MVC для каждого изображения.Затем для кэширования я хочу упаковать каждое изображение в один файл, используя сеансы PHP.Я разработаю систему для определения необходимости запуска сеанса, потоковой передачи каждого изображения и обработки каждого заголовка http.Вот где это становится сложно.
Так, например, скажем, у меня есть URL, который загружает список обложек фильмов из localhost/images/moviecovers/movietitle001.jpg
.Я настроил его так, чтобы каждое изображение загружалось из images.php, а оставшаяся часть URL-адреса использовалась в качестве атрибутов.Так что на самом деле очень легко найти полный список изображений, явный для реферера HTTP: localhost/media/movies/1
.
Я хочу упаковать и сгруппировать списки изображений, которые, как определено, часто вызываются из определенного реферера.сайт.Я, вероятно, буду использовать для этого сессии PHP, создав обработчик сессии и управляя именами / идентификаторами / путями сессии для организации.Я не проводил много тестов производительности, но я считаю, что это эффективная система сортировки, с которой очень легко работать.
Это может позволить мне создать какую-то структуру файлов, например (с любой другой информацией, которую яможет понадобиться):
//Unique to referrer of /images/moviecovers/...
$_SESSION = array(
'image1'=>array(
'type'=>'jpg',
'modtime'=>filemtime(),
'content'=>raw_image_data
),
'image2'=>array(
'type'=>'png',
'modtime'=>filemtime(),
'content'=>raw_image_data
),
'image3'=>array(
'type'=>'gif',
'modtime'=>filemtime(),
'content'=>raw_image_data
),
...
);
В конечном счете, цель состоит в том, чтобы сделать так, чтобы мне нужно было всего лишь открыть 2-3 файла для большого списка изображений, но мне нужно выяснить, как я собираюсьдержать эти отдельные файлы открытыми на протяжении всей загрузки клиента.Должно быть легко определить, когда нужно начинать сеанс, но план потерпит неудачу, если мне придется продолжать сеанс для каждого загружаемого изображения.Я даже не уверен, с чего начать работу с этим типом вещей в PHP, или если это вообще возможно.Мне не обязательно нужна помощь с дизайном / фреймворком, мне нужна помощь и идеи о том, как я буду обслуживать каждый запрос.
Даже если это невозможно в PHP, и так как все знают о моемпланы, я также хотел бы получить несколько советов о том, почему это будет или не будет хорошей идеей.В конце концов, я мог бы попытаться сделать это в Node.JS, что, я уверен, без проблем справится с подобными вещами.Это одна из тех вещей, которые я хотел бы попробовать, но понятия не имею, получу ли я увеличение скорости загрузки.