phpbar.de logo

Mailinglisten-Archive

[php] Array in Session speichern?

[php] Array in Session speichern?

Niels Runge info at runge.it
Son Sep 24 22:53:13 CEST 2006


>>> Insgesamt sind ca. 300 Elemente auf 5 Dimensionen verteilt. Macht 
>>> es Sinn diesen Baum beim Login einmalig erstellen zu lassen und dann in 
>>> der $_SESSION zu speichern? Oder haltet Ihr den Geschwindigkeitsgewinn 
>>> für unerheblich?
>>>   
>>>       
>> zu groß Werte sollten nicht in der Session gespeichert werden.
>> (habe es allerdings nie wirklich getestet, also vielleicht täusche ich 
>> mich auch)
>>
>> Du schreibst ja dass der Baum Benutzer bzw. sessionsabhängig ist, bei 
>> einem Projekt wo ähnliches
>> gelöst werden sollte, habe ich es einfach mit var_export($var, TRUE) 
>> exportiert und dann gespeichert (als einfach Datei)
>>     
> Da könntest du dann aber auch serialize() nehmen... Ich könnte mir 
> vorstellen, dass das schneller ist (hab' aber eigentlich keine Ahnung).
> Und $SESSION macht auch nichts anderes, als die Variable in eine Datei 
> zu schreiben. Und wenn man eh schon $SESSION verwendet, dann kann man 
> auch dessen Funktionen benutzen.
> Im Zweifelssfall dauert es nämlich lange die Datei zu öffnen und die 
> Sessiondatei muss sowieso geöffnet werden...
>   
wenn man serialisiert, dann muß man aber auch wieder vor dem verarbeiten 
unserialize() benutzen.
In diesem Fall ist es wohl doch eher eine "read-more, write-less" 
Anwendung, also ist das serialize() in meinen Augen nicht so sinnvoll.

Das Sessions in Dateien gespeichert werden, das stimmt ja nur für die 
standard Einstellung.
(okok, ein RDMS speichert im Endeffekt auch in Dateien)

Außerdem kann es ja sein dass man mehrere Daten dieser Art hat und 
soweit ich mich erinnere, wird der Zugriff auf ein Array langsamer wenn 
es sehr viele Daten enthält.
Vielleicht weiß hier jemand da etwas besser bescheid wie PHP das intern 
behandelt.

Gruß
Niels
 


php::bar PHP Wiki   -   Listenarchive