Mailinglisten-Archive |
Niels Runge wrote: > Hallo Julian, >> 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... > > Performancemässig war das eine akzeptable Lösung denke ich (auf dem > Server gab es kein Memcache o.ä.) > > Die Überprüfung war dann einfach so -> > > function check($name, $time) { > return file_exists(DIR_CACHE_DATA.$name) && (time() - > filemtime(DIR_CACHE_DATA.$name) < $time); > } > > Und $name hat sich dann ungefähr so zusammengesetzt -> > $name = > 'navigation_'.$_SESSION['user_id'].'_'.$_SESSION['andere_session_variable']; > > Gruß > Niels
php::bar PHP Wiki - Listenarchive