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