Хранить несколько размеров изображения или просто сохранить основной и изменить размер? - PullRequest
3 голосов
/ 10 июня 2011

Я работаю над CMS и пытаюсь выяснить обычную практику выполнения запроса изображения в стиле REST.У меня есть три размера, маленький, средний и полный.Моя мысль состоит в том, чтобы хранить только полную и написать функцию, которая будет изменять размер при каждом запросе страницы.Это имеет очевидные затраты на процессор.С другой стороны, я могу хранить все три размера и рассчитывать только при загрузке, это, похоже, тратит пространство.

Моя среда - интрасеть, поэтому сохраняются относительно низкие запросы и большое количество изображений.Мысли?

Примечание: я понимаю, что мне не нужно особо беспокоиться, так как это интранет, и любое из решений будет работать, просто интересно, какой вариант предпочтительнее для знания.

Ответы [ 6 ]

3 голосов
/ 10 июня 2011

Другой вариант - сохранить кеш изображений с измененным размером. Подайте те, которые доступны. Создавайте новые, если они недоступны. Удалите изображения, которые не были запрошены некоторое время.

Это будет компромисс между проблемами ЦП и хранилища.

1 голос
/ 10 июня 2011

Одним из ключевых моментов REST и использования по сравнению со стандартными глаголами HTTP является то, что он поддерживает кэширование;Я думаю, что это поддержит намерение сделать динамическое изменение размера.Однако на самом деле это вопрос компромисса между объемом памяти и вычислением времени запроса.

1 голос
/ 10 июня 2011

Поскольку вы думаете, что будет храниться много изображений, а не очень много запросов, я бы выбрал решение по изменению размера на лету, так как похоже, что вы уже знаете, место для хранения будетболее серьезная проблема.

Если вы хотите получить фантазию, вы можете настроить MRU (последний использовавшийся) кэш n - наиболее часто запрашиваемых изображений с измененным размером, но, опять же, если низкийколичество запросов это, вероятно, было бы излишним - но все же может быть интересным проектом!;)

1 голос
/ 10 июня 2011

Сохраните полное, затем сгенерируйте другие размеры по мере необходимости и кэшируйте их;при первом запросе обработка страницы будет немного замедлена, но затем кэшированная версия будет использоваться для всех последующих запросов.

0 голосов
/ 10 июня 2011

Вы сами ответили на вопрос, это компромисс между CPU и Space. Вы знаете стоимость каждого пути, просто спросите себя, какой ресурс вам дороже.

0 голосов
/ 10 июня 2011

Если загрузка системы не является проблемой (при условии, что приложение для внутренней сети малого объема), я бы пошел с сохранением полноразмерного изображения и масштабировал его во время выполнения.Таким образом, если вам когда-либо понадобятся другие размеры, вам не нужно будет заменять все ваши изображения.

Но, как вы сказали выше, поймите компромиссы и сделайте некоторые хорошие оценки загрузки системы, дискового пространства, вероятностиизменения требований и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...