Пожелание по mod_rewrite

Igor Sysoev is at rambler-co.ru
Tue Mar 15 20:36:21 MSK 2005


On Tue, 15 Mar 2005, Andrew Velikoredchanin wrote:

> Igor Sysoev пишет:
>> On Tue, 15 Mar 2005, Andrew Velikoredchanin wrote:
>> 
>>> Igor Sysoev пишет:
>>> 
>>>> On Tue, 15 Mar 2005, Andrew Velikoredchanin wrote:
>>>> 
>>>>> Boguk Maxim пишет:
>>>>> 
>>>>>> Генератор статического HTML и кеширование с возможностью сброса 
>>>>>> отдельных
>>>>>> документов по инициативе backend почти одно и тоже.
>>>>>> При этом кеширование не генерирует заведомо не используемые страницы в
>>>>>> отличии от генераторов статического html.
>>>>>> В общем реально надо механизм сброса части кеша по regexp по инициативе
>>>>>> backend вот.
>>>>>> (полный сброс не предлагать при обьеме кеша 10Gb+ :))
>>>>>> Мне бы тоже пригодилось.
>>>>> 
>>>>> 
>>>>> 
>>>>> Ну, скажем, не со стороны бэкэнда, а со стороны вообще. :) Как вариант - 
>>>>> введение условий либо в механизм кэша, либо в mod_rewrite.
>>>>> 
>>>>> Кстати, Игорь. Если делать механизм условного кэширования на основе 
>>>>> времени спец. файла и времени кэша текущего файла, то надо учитывать что 
>>>>> путь к спец. файлу должен строиться на основе url. Только вот без regexp 
>>>>> думаю, здесь не обойтись. Т.к. при необходимости введения спец. файла 
>>>>> для каталогов нужно иметь возможность указывать не весь url, а с учетом 
>>>>> уровня вложенности.
>>>> 
>>>> 
>>>> 
>>>> Файлы ограничивают использование одной машиной. regex'ы использовать
>>>> нереально. Я вижу такое решение: нужно добавлять в заголовок ответа 
>>>> ключ(и),
>>>> от которого зависит кэширование. Запросы, после которых часть ответов
>>>> становятся неверными (например, POST'ы), должны передавать такой же ключ.
>>>> Эти ключи будут храниться в своём кеше.
>>> 
>>> 
>>> Игорь, извини, но ничего не понял. Как в таком режиме из стороннего 
>>> скрипта, который выполняется на сервере по крону указать что определення 
>>> группа файлов в кэше уже не актуальна?
>> 
>> 
>> Сторонние скрипты не нужны. Бэкенд в ответе передаёт заголовок
>> "X-Accel-Key: <md5> <md5> ...". При проверке закэшированного ответа
>> будут также проверяться время обноволения каждого ключа. Если ответ
>> старше, чем любой ключ, то запрос уходит к бэкенду. Запросы, которые
>> могут повлиять на подобные закэшированные ответы, должны содержать
>> специальное поле с ключом. При получении такого запроса ставится новое
>> время для данного ключа.
>
> Эти ключи как я понимаю, будут формироваться скриптом. Для меня этот вариант 
> не подходит, т.к. я хочу макимально избавиться от скриптов. А так на каждый 
> запрос скрипт будет вызываться. :(

Ключи формируются бэкендом.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list