2013-10-24 2 views
5

У меня есть система mod_perl принимающей API вызовов из разных клиентских систем Предположит, в программе ребенка PERL у меня есть вызовы, как это который делает некоторым тяжелым переработкиmod_perl доля переменных через дочерние процессы

$conf{$client_id} = generate_client_conf($client_id); # returns a ref to a hash 

Я хотел бы вновь Использовать эту переменную $ conf {$ client_id} в других дочерних процессах Как это сделать?

Переменные не могут быть загружены в startup.pl, но должна быть в кэше, когда он генерируется

+0

Возможно, вы захотите посмотреть на «memcached» и связанные с ним модули Perl. Это не является строгим ответом на вашу проблему (memcached - это отдельный процесс, а не кеширование внутри Apache), но вполне может решить вашу проблему с производительностью. –

+0

Memcached, означает, что мне придется каждый раз выполнять TCP-соединение в скрипте mod_perl. Я также не могу сохранить маркер Memcached – Ram

ответ

0

Вы должны использовать Cache::FastMmap

В mod_perl, просто открыть кэш на глобальном уровне в соответствующий модуль, который запускается при запуске сервера, и , прежде чем он начнет разворачивать детей, но вы, вероятно, захотите chmod или запустите файл в разрешениях процесса apache.

Смежные вопросы