Какой реализовать механизм хранения превьюшек?

Добрый день. Есть что-то вроде новостного портала. Для каждой новости нужно хранить в среднем 10 превьюшек большого и маленького размеров. Подскажите как лучше хранить картинки:
На диске
1. Все в одной папке (images/average | small)
2. Раскидать по новостям (images/news_id/average | small)
В базе
1. Отдельная таблица
2. В таблице с новостями создать поля average, small и вставлять одну ссылку на строку
3. Сканировать папку images/news_id/average | small
Быть может есть вариант лучше? Упор на быстродействие
  • Вопрос задан
  • 2672 просмотра
Решения вопроса 2
@rowdyro
В этом случае проще использовать модуль nginx image_filter. Он позволяет налету ресайзить изображения, можно прикрутить кеширование и тд.
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
сжатие на лету - не есть нагрузка на сервер, это как раз кажется мне самым разумным решением. @rowdyro предложил красивое решение, ставим кэш подлиннее, дней этак на 30, и ВСЕ, все картинки есть в кэше, ничего больше грузиться не будет. 1 раз, когда ПЕРВЫЙ пользователь смотрит последнюю добавленную новость - 1 раз(!) сделается 4 картинки на лету, и все, дальше все идет из кэша.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Давно(7 лет назад) на большом проекте делали так: в базе хранились имена файлов, (путь настраивался через свойство объекта), а превьюшки просто имели постфикс аля 234342_s.jpg(кста так flickr пашет). Сегодня модно не хранить превью, а уменьшать большие картинки средствами CSS/HTML на стороне клиента, бо полосы позволяют, а место не резиновое и не бесплатное ), но это и сегодня вопрос спорный, экономим ли мы при превьюшках трафик, т.к. при просмотре потом большого изображения все равно большая фотка тянется, а так она уже загружена, открывается сразу. Так что тут еще вопрос - насколько большая картинка больше превью, стоит ли огород городить или грузить сразу большую вставлять. Имхо, есть смысл если ВСЕ полные картинки больше чем ~800*600 точек или ~100кб делать иконки, иначе просто вставлять как есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы