[Moscow.pm] еще вопросы по mod_perl

Mons Anderson inthrax на gmail.com
Чт Сен 17 01:20:41 PDT 2009


On Thursday 17 September 2009 10:45:12 Dmitry E. Oboukhov wrote:
> >> ну да, собственно задача стоит не память экономить, а запросы к БД.
> >> ну и если за время жизни модперлового скрипта будет сделан один
> >> запрос, да бог бы с ними что их сделается столько сколько тех форков
>
> AS> А тогда не обойтись и без запросов к "единому знанию" о том, не
> AS> появились ли обновления, и делать это при каждом запросе пользователя.
> это-то само собой. от этого не уйти ни в случае мемкеша ни в любом
> другом случае

Могу предложить такое решение.
в startup.pl:

open my $fh, '+>', undef or die "open tempfile failed: $!";
print $fh 1; # store freshness flag
seek $fh,0,0;
mmap($::state, 1, PROT_READ|PROT_WRITE, MAP_SHARED, $fh)
    or die "mmap failed: $!";

Далее в чайлдах используем $::state
$::state = 0; # инвалидация кеша
if($::state) {
 # cache is fresh
} else {
 # cache is old
}

-- 
Vladimir Perepelitsa aka Mons Anderson
<inthrax на gmail.com> / #99779956


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