mod_perl跨子进程共享变量

Ram*_*Ram 5 perl mod-perl

我有一个mod_perl系统接受来自不同客户端系统的API调用假设在子perl程序中我有这样的调用,它做了一些繁重的处理

$conf{$client_id} = generate_client_conf($client_id); # returns a ref to a hash
Run Code Online (Sandbox Code Playgroud)

我想在其他子进程中重用这个变量$ conf {$ client_id}我该怎么做?

变量无法在startup.pl中加载,但需要在生成后进行缓存

ede*_*dem 1

您应该使用Cache::FastMmap

在 mod_perl 中,只需在适当的模块中打开全局级别的缓存,该缓存在服务器启动时和开始分叉子级之前执行,但您可能需要 chmod 或 chown 文件以获得 apache 进程的权限。