http://www.perlmonks.org?node_id=92088


in reply to Sharing data structures among http processes?

You may have already looked at this, but both Perl and PHP support Apache notes, which allows you to pass data (structures) between handlers. From the mod_perl guide:
Let's say that you wrote a few handlers to process a request, and they all need to share some custom Perl data structure. The pnotes() method comes to your rescue.
# a handler that gets executed first my %my_data = (foo => 'mod_perl', bar => 'rules'); $r->pnotes('my_data' => \%my_data);
The handler prepares the data in hash %my_data and calls pnotes() method to store the data internally for other handlers to re-use. All the subsequently called handlers can retrieve the stored data in this way:
my $info = $r->pnotes('my_data'); print $info->{foo};
prints:
mod_perl
The stored information will be destroyed at the end of the request.
I've been meaning to play with it for a while, but haven't gotten around to it yet. It sure looks cool ;)

ar0n ]


update: Hrm, I guess I misunderstood the question. Sorry 'bout that.

Replies are listed 'Best First'.
Re: (ar0n: pnotes) Re: Sharing data structures among http processes?
by tomhukins (Curate) on Jun 28, 2001 at 02:21 UTC

    This is fine for passing data between handlers or to subrequests within an individual httpd process, but it doesn't share data between separate processes, as sutch asked.

    Apache::SharedMem can be used to share data between Apache processes.