Variable über Requests hinweg im Speicher halten

Variable über Requests hinweg im Speicher halten

am 17.04.2005 09:28:49 von Dirk Gomez

Ich habe ein großes Array (>100 KB), das in einem File gespeichert ist
und per Request gesourcet wird. Der Inhalt des Array ist identisch für
jeden User und es ändert sich nur relativ selten. Ich möchte das Array
nur dann anfassen, wenn es sich tatsächlich geändert hat.

Ich stelle mir nun folgendes vor: ein Thread schaut regelmäßig nach, ob
sich die Array-Datei auf der Platte geändert hat. Wenn ja, wird die
Datei neu gesourcet und steht allen folgenden Requests so zur Verfügung.

Mit "normalen" PHP scheint sowas nicht zu gehen. Gibt es aber zum
Beispiel einen Apache-Daemon, der so einen Service für PHP zur
Verfügung stellt?

Ich muß PHP verwenden!

-- Dirk

Re: Variable überRequests hinweg im Speicher halten

am 17.04.2005 10:02:49 von Fritz Paul

On Sun, 17 Apr 2005 09:28:49 +0200, Dirk Gomez wrote:

> Ich habe ein großes Array (>100 KB), das in einem File gespeichert ist
> und per Request gesourcet wird.

Ge... was? Was meinst Du damit?

> Der Inhalt des Array ist identisch für
> jeden User und es ändert sich nur relativ selten. Ich möchte das Array
> nur dann anfassen, wenn es sich tatsächlich geändert hat.

Du must es aber immer anfassen um zu erfahren ob sich was geaendert hat.
Oder Du arbeitest mit Checksummen und schaust nur ob die sich geaendert
hat.

> Ich stelle mir nun folgendes vor: ein Thread schaut regelmäßig nach,

Threading kennt PHP nicht aber das haste ja auch schon bemerkt.

> ob sich die Array-Datei auf der Platte geändert hat. Wenn ja, wird die
> Datei neu gesourcet und steht allen folgenden Requests so zur
> Verfügung.

Du suchst nach 'man cron' oder nach dem 'Taskplaner' fuer Win32.

> Mit "normalen" PHP scheint sowas nicht zu gehen.

Was unterscheidet "normales" PHP von PHP? :)

> Gibt es aber zum
> Beispiel einen Apache-Daemon, der so einen Service für PHP zur
> Verfügung stellt?

Mir unbekannt.

> Ich muß PHP verwenden!

Schoen fuer Dich.

Salut, Fritz

Re: Variable über Requests hinweg im Speicher halten

am 17.04.2005 11:41:47 von tm011109

"Dirk Gomez" wrote:
> Ich habe ein großes Array (>100 KB), das in einem File gespeichert ist
> und per Request gesourcet wird. Der Inhalt des Array ist identisch für


Parse Error on Line 2: Unknown identifier "gesourcet". Please rewrite.

LG,
Günther.

Re: Variable über Requests hinweg im Speicher halten

am 17.04.2005 12:45:00 von Martin Spuetz

Hallo Dirk,

Dirk Gomez wrote:
> Ich habe ein großes Array (>100 KB), das in einem File gespeichert ist
> und per Request gesourcet wird. Der Inhalt des Array ist identisch für
> jeden User und es ändert sich nur relativ selten. Ich möchte das Array
> nur dann anfassen, wenn es sich tatsächlich geändert hat.
>
> Ich stelle mir nun folgendes vor: ein Thread schaut regelmäßig nach, ob
> sich die Array-Datei auf der Platte geändert hat. Wenn ja, wird die
> Datei neu gesourcet und steht allen folgenden Requests so zur Verfügung.

du meinst bestimmt shared memory. So wie es z.b. die Software der
Wikipedia macht.

http://php3.de/manual/de/ref.shmop.php
http://www.google.de/search?q=eaccelerator+shared+memory

Gruss,
Martin

Re: Variable über Requests hinweg im Speicher halten

am 17.04.2005 14:36:33 von Dirk Gomez

Im IRC-Channel #php auf irc.freenode.net hat mich jemand auf folgendes
Paket hingewiesen: http://pear.php.net/package/Cache/docs - das könnte
die Lösung meines vorher beschriebenen Problems sein.

-- Dirk