Каков наилучший способ создания постоянных memcached соединений под mod_perl? - PullRequest
1 голос
/ 01 декабря 2011

Я знаю, что есть модуль типа Apache::DBI, который позволяет использовать постоянные подключения к базе данных в mod_perl.

Есть ли простой способ сделать что-то подобное? Не могли бы вы порекомендовать какой-нибудь пакет пула memcached?

1 Ответ

0 голосов
/ 02 декабря 2011

Если вы посмотрите на исходный код Apache :: DBI, вы увидите, что он просто помещает дескриптор базы данных в лексической области видимости в верхней части пакета. Это легко сделать для Memcached. Создайте новый пакет, с my $memcached; вверху, затем используйте метод init(), установите соединение и сохраните его в этом лексическом выражении. Затем используйте метод getConnection() для извлечения соединения из вашего кода. Этот метод должен проверить, живо ли соединение, и при необходимости восстановить соединение.

Наконец, настройте PerlChildInitHandler для вызова init() (см. Apache :: DBI connect_on_init()).

...