Re: levels=уровни

Valery Kholodkov valery+nginxru на grid.net.ru
Пн Сен 27 20:27:47 MSD 2010


Это нужно для ускорения поиска по файловой системе.

Во многих файловых системах время поиска в каталоге пропорционально числу записей в нем. Если поместить много файлов в один каталог, то открытие файла будет сильно тормозить. Решение -- использовать хэшированные каталоги. А именно -- создать иерархию каталогов и по некоторому принципу определять в каком именно каталоге находится тот или иной файл. В иерархии каталогов время поиска будет логарифмическим.

В данном случае 1:2 по-видимому означает "использовать первый символ имени файла для определения имени каталога первого уровня, использовать следующие 2 символа имени файла для определения имени каталога второго уровня".

----- Dmitry Veselov <nginx-forum at nginx.us> wrote:
> [code]
> Параметр levels задаёт уровни иерархии
> кэша, например, при использовании
> 
>      
>     proxy_cache_path  /data/nginx/cache  levels=1:2  
> keys_zone=one:10m;
> 
> имена файлов в кэше будут такого вида:
> 
>      
>    
> /data/nginx/cache/[b]c[/b]/[b]29[/b]/b7f54b2df7773722d382f4809d65029c
> 
> [/code]
> 1й уровень это [b]с[/b], а второй [b]29[/b]?
> что в принципе означают уровни?
> это те же уровни что и в именах доменов?
> и для чего они нужны? как это работает?
> на примере одного файла непонятно
> можно ли написать 1:4? и что это будет
> значить?
> 
> может глупые вопросы, но не совсем
> понятно все таки объяснено в доке :)
> 
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,134600,134621#msg-134621
> 
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru

-- 
Regards,
Valery Kholodkov


Подробная информация о списке рассылки nginx-ru