- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
3м фото, если полноразмерные, то объема тут 15тер получается. Для базы уже великовато. Тогда действительно только на папки, причем папки совершенно не нужно привязывать ни к дате ни к чему то еще. Рандомное имя и все. А ярлыки и всю прочую информацию включая даты добавления, модификации и т.д. уже в базе храните.
причем папки совершенно не нужно привязывать ни к дате ни к чему то еще. Рандомное имя и все.
в таком случае картинки будут лежать не равномерно, т.к. удаление 1000 картинок из папки ЙЦУКЕН никак не ставит её более приоритетной на закачку туда новой графики.
Можно и так, а можно обойтись двумя счетчиками. В одном счетчике хранится номер текущей папки, куда загружаются файлы, в другом - число файлов в папке. При загрузке каждого файла, увеличиваем второй счетчик, когда число файлов достигнет 2000, увеличиваем первый и обнуляем второй, файлы начнут загружаться уже в новую папку. И так по циклу.
Это при загрузке, тут всё верно. а если, скажем, из папки 1 удалить 1000 файлов, ну и из папки 2 еще 500? счетчики будут продолжать плодить папки. при работе с массивом и добавлении файлов в наименее населенную папку, такого не произойдёт.
Хотя это уже технические нюансы)
Сайт должен хранить 3 миллиона фотографий. Фотографии добавляются/удаляются/заменяются. Подскажите, как лучше организовать хранение файлов? Стоит ли все хранить в одной папке, или хранить например по 2000 файлов в каждой папке, а потом создавать программно новую.
можно брать первые 3 символа от md5 имени (или от самого файла) и этими 3 символами называть папку , тогда будет примерно равномерно распределено в 4096 папки.
R34-zevs, обратите внимание, например, как squid/nginx/eaccelerator и другие хранит свои дисковые кеши, и Вы сразу получите ответ на свой вопрос. Это одно, двух, реже, трех уровневая система папок на основе md5 от имени (или от самого файла), как уже отметил foxi. Думаю, этот вариант уже проверен теорией и практикой и тратить время на поиск чего другого - занятие сродни изобретению очередного велосипеда.
---
Виктор
Поддерживаю систему с иерархией на основании md5.
В принципе особой разницы нет как делить фото, правильно замечено, главное что бы они в одну директорию все не попались, а так по 1-2-3 тысячи файлов на каталог - и думаю проблема будет решена.
если с md5 то хеш хранить надо или на лету генерить?
если хранить - лишняя инфа место занимает... это же 3м фоток (а может же быть и больше)
ежели с лёту всё организовать - то тут уже встаёт вопрос сколько фоток на страницу будет выводить... сколько раз md5 будет вызываться.. если проект посещаемый - то это лишняя нагрузка..
дата же, я думаю, в БД хранится по-любому.. тут уже смотреть надо какой проект и что за/чьи фотки.. если фотки пользователей, можно из ID/логина папки делать, и уже в неё заливать фотку.. либо ../первая буква логина/логин/фотки/..
вариантов тыща, главное чтобы лишнего места не занимала инфа и на производительность не влияла :)