Mailinglisten-Archive |
On Thursday 23 January 2003 17:57, John Behrens wrote: > Habe überlegt die > REQUEST_URI als cache key zu verwenden, So einfach ist es leider nicht. Ersten sollte die Session ID nicht Bestandteil des Cache Key sein, wenn sie es nicht muß. Zweites sollte der Cache Key canonical sein, also sollten zum Beispiel http://lall.de?a=1&b=2 und http://lall.de?b=2&a=1 denselben Cache Key erzeugen. Wenn Deine Variablen case insensitive sind, sollte sogar http://lall.de?A=1&B=2 denselben Cache Key erzeugen. Und drittens sollten Teil der URI, die das Aussehen der Seite nicht beeinflussen, auch nicht Bestandteil des Cache Key werden (wenn also ...&submit=Los%21 das Aussehen der Seite nicht beeinfluß, sollte es auch nicht in den Key mit eingehen). Nur auf diese Weise minimierst Du die Cache Größe und maximierst Du den Nutzen des Cache (minimierst die Anzahl der Seiten-Neuberechnungen). Anders herum ist es so, daß unter Umständen Dinge in die Seite mit eingehen, die sich nicht in der REQUEST_URI niederschlagen, etwa die filemtime() des Content, oder ein changed timestamp-Wert in der Datenbank und andere Eigenheiten. Diese Dinge müssen Bestandteil vom Cache Key werden. Du wirst nicht umhin kommen, Deine Anwendung zu analysieren und Dir eine Art virtuelle Seitengenerierungsfunktion vorzustellen. Deren Parameter sind ALLE Parameter, die das Aussehen einer Seite beschreiben, und alle diese Parameter müssen (in kanonischer Form und Reihenfolge) in den Cache Key eingehen. Kristian -- Kristian Köhntopp, NetUSE AG, Dr.-Hell-Straße, D-24107 Kiel Tel: +49 431 386 435 00, Fax: +49 431 386 435 99
php::bar PHP Wiki - Listenarchive