我知道有一个像Apache::DBI
这样的模块,它允许在mod_perl下使用持久连接到数据库。
有简单的方法来做这样的东西吗?你能推荐一些memcached池包吗?
如果您查看Apache::DBI的源代码,您将看到它只是将数据库句柄放在包的顶部的词法作用域中。对于Memcached来说,这样做很容易。创建一个新包,顶部为my $memcached;
,然后使用init()
方法创建连接并将其保存在该词法中。然后在代码中使用getConnection()
方法获取连接。该方法需要检查连接是否仍然有效,并在需要时重新连接。
最后,设置PerlChildInitHandler
来调用init()
(参见Apache::DBI connect_on_init()
)。