From: | Alvar Freude <alvar(at)a-blast(dot)org> |
---|---|
To: | pgsql-de-allgemein <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | Re: c't Datenbank-Contest; PL/pgSQL, |
Date: | 2005-10-21 14:24:51 |
Message-ID: | 3BCEE66642A5D14C3762A9F7@Chefkoch.local |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Hallo,
-- Enrico Weigelt <weigelt(at)metux(dot)de> wrote:
> idR. mit jeder neuen connection.
> Wenn Du perl dazu bringen kannst, bestimmte Variablen innerhalb eines
> Prozesses persistent zu halten (also zwischen verschiedenen Aufrufen),
> dann kannst Du dort einfach ein Flag setzen.
aber eben nur innerhalb eines Prozesses. Ganz allgemein: wenn Du 10 MB an
Daten hast und 100 Verbindungen ... ;-)
> Mit pl/php geht das wunderschön: globale Variablen sind persistent
> (weil ja die engine nur einmal pro Prozess gestartet wird) und damit
> hast Du einen backend-weiten globalen Speicher. Eignet sich zB.
> gut nett fürs caching.
das geht garantiert auch mit Perl; aber eben bei beiden nur für jeweils
einen Prozess. Große Datenmengen lassen sich damit nicht speichern.
Bei mod_perl mache ich das anders: beim Start (vor dem Fork!) wird eine
Datenstruktur aufgebaut und dann können nachher alle Prozesse darauf
zugreifen. Solange es nur lesend ist bleibt es geshared; bei
Schreibzugriffen greift das Copy-on-Write vom Betriebssystem.
Ciao
Alvar
--
** Alvar C.H. Freude, http://alvar.a-blast.org/
** http://www.wen-waehlen.de/
** http://odem.org/
** http://www.assoziations-blaster.de/
From | Date | Subject | |
---|---|---|---|
Next Message | Bernd Helmle | 2005-10-21 15:12:19 | Re: c't Datenbank-Contest; PL/pgSQL, PL/perl, |
Previous Message | Alvar Freude | 2005-10-21 14:21:14 | Re: c't Datenbank-Contest; PL/pgSQL, |