phpbar.de logo

Mailinglisten-Archive

[php] 4: session_set_save_handler() + SQL MEMORY-Tabelle vs. mount tmpfs + session_save_path()

[php] 4: session_set_save_handler() + SQL MEMORY-Tabelle vs. mount tmpfs + session_save_path()

Thomas Koudela thomas at koudela.net
Mon Jan 12 16:40:22 CET 2009


Am Montag, den 12.01.2009, 15:37 +0100 schrieb Sebastian Mendel:
> On 2009-01-12 15:02, Thomas Koudela wrote:
> 
> > Danke für Deine Antwort. Auch wenn meine Fragen unbeantwortet blieben,
> > waren die Anregungen (insbesondere memcache und apc_add([...])) sehr
> > interessant.
> 
> beachten sollte man vielleicht noch das APC einen natürlich auf einen 
> Server beschränkt, wo hingegen memcached und nfs auch mit einem Cluster 
> funktioniert

Vorsicht ist jedoch angebracht, wenn Cachingvariablen Verwendung als
Sessionvariablen verwendet werden. Zwei Browserfenster können sich
durchaus ein Cookie teilen. Und wenn nun beide zugehörigen Skripte die
Sessionvariablen verändern, kann es ohne Lock ganz schnell zu Fehlern
kommen, die verdammt schwer zu tracken sind.

> memcached hat wiederum den Vorteil das du nicht immer die gesamten 
> session daten laden musst (anstelle der gesamten session die einzelnen 
> Objekte im memcache ablegen) und du es gleichzeitg für weitere Sachen 
> verwenden kannst (cachen von DB-Abfragen, Ergebnislisten, 
> Übersetzungslisten, usw.)

Hmm, bisher habe ich Sessions nur für Variablen genutzt, die fast bei
jedem Aufruf benötigt wurden (Loginstatus, Trackingid, o.ä.). Wobei die
einfache Handhabung von $_SESSION natürlich dazu verführt auch selten
verwende Variablen darin zwischenzuspeichern. Das ist überhaupt das
erste Mal, dass ich mir bewusst Gedanken mache was am besten wie zu
speichern ist. Meist hab ich einfach blind 'ne Datenbanklösung
implementiert.

> außerdem bringt die memcache extension einen eigene session.save_handler 
> mit:
> 
>   session.save_handler = "memcache"
> 
> 
> du musst also fast nix mehr selber machen, außer den memached aufsetzen ...

Das scheint zumindest auf Clustern die beste der bisher erwähnten
Möglichkeiten zu sein.

> Wikipedia, FaceBook, YouTube setzen bestimmt auch nicht grundlos auf 
> memcached ... ;-)

Och, wenn ich schon auf memchached setzen _müsste_, wäre ich froh. :-)
Bisher sind diese Überlegungen von eher weiterbildender bzw.
vorbereitender Natur.

> Sebastian Mendel

Gruß, Thomas K.



php::bar PHP Wiki   -   Listenarchive