[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вложенность или количество файлов
LRCenter
Вопрос к знатокам nix-ов и файловых систем.

Пишу систему кеширования - кеш фрагментов страниц хранится в виде html.

Имеет ли смысл выкладывать кеш-файлы от каждого модуля в отдельную дирректорию?

Что больше повлияет на скорость работы - 10000 файлов в одной дирректоррии или вложенность в 3 уровня глубиной от исполняющего скрипта?



Спустя 36 минут, 58 секунд (20.01.2011 - 10:49) linker написал(а):
Чем больше файлов/папок в одной папке, тем медленнее доступ к ним. Глубина вложенности тоже влияет.

Спустя 16 минут, 21 секунда (20.01.2011 - 11:06) LRCenter написал(а):
Ну а какой фактор влияет сильнее в моем случае?

Спустя 9 минут, 28 секунд (20.01.2011 - 11:15) linker написал(а):
Много папок зло, больше времени потратишь на поиски нужно файла, да и смысла нет создавать папку, чтобы положить туда один файлик. Все равно что конфету завернуть в другую конфету.

Спустя 2 минуты, 56 секунд (20.01.2011 - 11:18) LRCenter написал(а):
А вот так на вскидку, в средней системе с какого количества файлов и папок в папке начинаются заметные тормоза при обращении к файлам?

Не, е не очень глубоко всего 3-4 уровня вложенности и файлов реально много.

Спустя 10 минут, 40 секунд (20.01.2011 - 11:29) linker написал(а):
LRCenter
Этого тебе никто не скажет никогда.
Думай как их структурировать, группировать по каким-то критериям, чтобы потом самому же было проще до них добраться.

Спустя 22 минуты, 19 секунд (20.01.2011 - 11:51) kirik написал(а):
LRCenter
Вложенность решает.

Цитата (linker @ 20.01.2011 - 03:29)
Думай как их структурировать, группировать по каким-то критериям, чтобы потом самому же было проще до них добраться.

обычно берется имя файла (оно уникально), вычисляется хэш имени, и берутся первые 2-3 символа для создания вложенности.
$filename = 'mypic.jpg';

$hash = md5($filename);
$dir = '..../' . $hash[0] . '/' . $hash[1] . '/' . $hash[2] . '/';

// mkdir($dir, 0777, true);
// copy(..., $dir . $filename);


echo 'Файл будет лежать тут: ' . $dir . $filename;

Обращение к файлу будет происходить также.

UPD
тут сталкивался с проблемой "переполнения"


_____________
Меньше кода - меньше багов ©
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.