Как хранить фотодорожки в базе данных - PullRequest
0 голосов
/ 09 июня 2011

Я делаю некоторую работу с хранением фотографий участников в базе данных, и мне интересно, должен ли я хранить пути к фотографиям следующим образом:

http://www.domain.com/path/to/photo

или вот так

/ path / to / photo

В частности, меня беспокоит тот факт, что у меня теперь есть 1 сервер, но со временем у меня будет более одного, и в будущем у меня может быть подача CDN.до фотографий.Каков надежный способ хранения путей в долгосрочной перспективе?

Спасибо!Alex

Ответы [ 2 ]

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

Это действительно сводится к личным предпочтениям.

Если краткие пути важны, а индексирование и поиск по столбцу не будут завершены, сохраните все это (хотя обратите внимание, что ваша первая форма все еще содержит предположения - что, если вы также отправляете фотографии через HTTPS - каждый из нихфайл имеет два пути).

Если важен размер данных и нормализация, сохраните только в значительной степени изменяющуюся часть URL и примите согласованную часть.Если это со временем изменится, измените таблицу и сделайте однократное ОБНОВЛЕНИЕ, чтобы добавить существующий предполагаемый URL.

Наконец, физическое хранилище и логическое представление могут быть двумя разными вещами - используя конструкцию MVC, вы можете иметь контроллер, которыйпревращает запрошенный /path/to/myimage.jpg в cdn.example.com/myassets/0123/123122.jpg

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

Я бы не стал включать имя сервера. Имя сервера может измениться в будущем.

Я бы сохранил изображение в базе данных, а не как локальный файл. Что произойдет, если на нескольких серверах вы дублируете файлы изображений на обоих серверах?

...