Support Telefon: 0228 / 280 56 68 - Mo-Fr. 09-18.00

Suche

Suche

Support

Forum Vorschläge u. Tipps.

Einfaches Cache-System

Hallo,

wir bauen für einen Kunden eine kleine Präsenz. Der Kunde hat Strato als Provider. Leider bietet Strato nur Schnecken-Performance. Als schnelle Abhilfe haben wir einen einfachen Seitencache implementiert.

Sicher, dass sollte eigentlich ein Plugin werden. Aber bis wir das Plugin-System verstanden haben, das ganze erst einmal direkt.

Viele Grüße aus/nach Bonn,
Olav Schettler

all_inc_front.php:
============
function cache_file() {
global $template;
$dir = $_SERVER['DOCUMENT_ROOT']
. '/papoo/cache/';
if ($_SERVER['QUERY_STRING']) {
$cache_id = urlencode($_SERVER['QUERY_STRING']);
}
else {
$cache_id = 'menuid%3D1';
}
return $dir . $template . ':' . $cache_id . '.html';
}

function cache_get() {
$file = cache_file();
if (is_readable($file)) {
readfile($file);
return TRUE;
}
return FALSE;
}

function cache_put($content) {
$file = cache_file();
$fh = fopen($file, "w");
fwrite($fh, $content);
fclose($fh);
}

if (cache_get()) {
exit();
}
[...]
print $output;
cache_put($output);


interna/templates/menu.inc.html:
=====================
<script language="JavaScript" type="text/javascript">
<!--
document.writeln('</li><a href="rmcache.php?caller=' + escape(document.URL) + '">Cache leeren</li>');
//-->
</script>

interna/rmcache.php:
==============
<?php
function cache_remove() {
$dir = $_SERVER['DOCUMENT_ROOT']
. '/papoo/cache/'; $dh = opendir($dir);
while (($file = readdir($dh)) !== false) {
if ($file{0} == '.') {
continue;
}
unlink($dir . $file);
}
closedir($dh);
}
cache_remove(); header('Location: '
. $_REQUEST['caller']);
?>


Von olav am 01.02.2006; 13:57:46 Uhr [3191 Hits]

Re: Einfaches Cache-System

Hallo Olav,

werd ich mal testen wie es so funktioniert , hört sich ja gut an.

Viele Grüße,

Carsten



Von Carsten Euwens am 02.02.2006; 10:05:42 Uhr [171 Hits] Kunden Papoo Enterprise (manuell)

Re: Einfaches Cache-System

Hallo Olav,

ich hatte mir zu diesem Thema auch schon mal Gedanken gemacht. Ist aber echt ziemlich kompliziert. Warum? Hier ein kleines Beispiel:
Woher weiss dein Cache-System welche Sprache gerade ausgewählt ist?
Die Sprache wird quasi einmal gesetzt und anschliesend ist ein Link auf eine deutsche Seite von einem auf eine englische nicht mehr zu unterscheiden. Papoo regelt das intern durch setzen einer Session-Variablen. Diese Information müsste in das Cache-System ja irgendwie mit einfliesen.

Weiteres Problem:
Benutzer-Rechte. Woher weiss dein Cache-System welche Rechte ein Benutzer gerade hat, oder um es anders auszudrücken: Wenn ein bestimmter Menü-Punkt nicht von "Jeder" gesehen werden kann, dürfen Benutzer der Gruppe "Jeder" diesen Menü-Punkt auch nicht sehen. Setzt aber ein Benutzer, der das Recht hat diesen Menü-Punkt zu sehen, den Cache, würden ja nun auch Benutzer der Gruppe "Jeder" diesen Menü-Punkt sehen.

Wie du siehst, ist das nicht ganz so einfach wie von dir gedacht. Prinzipiell wäre eine Cache-Funktion aber schon eine feine Sache

Stephan



Von b.legt210 am 02.02.2006; 10:59:46 Uhr [173 Hits] Entwickler

Re: Einfaches Cache-System

Kleine Ergänzung:

Am Anfang von cache_get() und cache_put() jeweils

---
if ($_SERVER['REQUEST_METHOD'] != 'GET') {
return FALSE;
}
---

einfügen. Dann kommt die Mechanik auch mit dem Kontaktformular klar.

Olav


Von olav am 02.02.2006; 18:05:34 Uhr [157 Hits]

Re: Einfaches Cache-System

Hallo Stephan,

schon klar. Unsere einfache Site gibt's aber augenblicklich nur in deutsch und die eine Redakteurin hat alle Rechte. Also die einfachste aller Welten.

Die Alternative -also ohne diese Cache-Funktionen- wäre aber Gemecker wegen Schneckentempo bei Strato und Schlaupilzkommentare wie "Ist ja klar, dass ein CMS sowieso zu langsam ist".

Olav


Von olav am 02.02.2006; 18:11:41 Uhr [163 Hits]

Re: Einfaches Cache-System

Hi Olav,

alles klar. Wollte das auch nur mal so in den Raum stellen. Evtl. springt ja auch mal "irgend ein kluges Köpfchen" auf dieses Thema an und zaubert eine perfekte einfache Lösung aus dem Hut. Ich selbst hab das auch mal ansatzweise in Papoo integriert. Als dann aber so langsam absehbar wurde, dass das Ganze doch nicht so einfach wird und es doch einige grundsätzliche Änderungen in Papoo bedarf, legte ich das alles mal auf Eis. Interessant ist das Thema aber allemal, zumal Papoo im Moment wirklich nicht das schnellste System ist

Stephan



Von b.legt210 am 02.02.2006; 18:45:29 Uhr [252 Hits] Entwickler

Sie müssen sich anmelden, um einen Beitrag schreiben zu können.

Anfrage stellen

Warenkorb

Derzeit befindet sich nichts in Ihrem Warenkorb.
#start#

Facebook

Newsletter abonnieren.

Ihre Daten

Login

Login




Registrierung.
. Passwort vergessen?
.

Seminarkalender

Mo Di Mi Do Fr Sa So
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
.

xxnoxx_zaehler