gregorovius has asked for the wisdom of the Perl Monks concerning the following question:

Dear fellow Monks,

I want to share global data between my Apache httpd processes. I know I can use Apache::Session for this (by reserving a session id for the global data, as its manpage says) but I want to ask for your help in finding if there are any wiser/faster/simpler alternatives.

I've seen for instance that the MS-IIS Application object is fast and simple. God knows how it's implemented! (Apache::ASP is a great alternative, but not for my plain vanilla legacy app)

I do know that Apache::Session will be fast enough, but I'd also like not to require my potential users with too many more extra module installs. (Apache::Session depends on three or four other modules).

Thanks in advance!

Gregorovius

  • Comment on sharing global data between httpd processes

Replies are listed 'Best First'.
Re: sharing global data between httpd processes
by merlyn (Sage) on Nov 21, 2000 at 17:48 UTC
Re: sharing global data between httpd processes
by extremely (Priest) on Nov 21, 2000 at 14:43 UTC
    Your options are:
    • Shared memory segments (mod_perl makes it easy)
    • Background process server (Fast_CGI)
    • DBI + a fast DB like MySQL
    • ... stuff I don't know about... =)

    --
    $you = new YOU;
    honk() if $you->love(perl)

Re: sharing global data between httpd processes
by lhoward (Vicar) on Nov 21, 2000 at 17:19 UTC
    Apache::Session is your answer. There are several companion modules to Apache::Session that allow for in-memory storage of sessions. Blindingly fast. See:
    Ammendment : looks like those modules haven't been part of Apache::Session since at least version 1.03 (Apache::Session is currently on 1.53). I wonder whee they went.