Tux RSS-IconHallo, und willkommen auf meinem Blog!
Falls du hier neu bist und dir gefällt was ich schreibe, dann abonniere am besten meinen RSS-Feed um auf dem Laufenden zu bleiben.
Was das ist kannst du hier erfahren.

Link 15.02.11, 20:37:38

Ein simpler Cache mit PHP

Der Sinn von Caches
Caches kommen immer dann zur Anwendung, wenn ein hoher Aufwand für das Neu-Generieren von Inhalten vermieden werden soll. Einen Cache kann man also als Zwischenspeicher bzw. Puffer für Daten, die bereits einmal vorlagen verstehen, der beim nächsten Aufruf verwendet wird, um die Daten schneller zur Verfügung zu stellen.

Beispiele finden sich in diversen Anwendungen (v.a. in Browsern wäre ein Fehlen undenkbar), bei Festplatten, Prozessoren und auch bei (nicht statischen) Webseiten. Zur letzteren Art gehört auch mein Blog, der sich die Inhalte bisher bei jedem Seitenaufruf aus meiner MySQL-Datenbank geholt hat. Das ist sehr rechenzeitlastig, da immer beim Aufruf meines Blogs mehrere SQL-Abfragen ausgeführt werden müssen. Außerdem würde sich ein Cache besonders für viel aufgerufene Seiten rentieren.
Also habe ich mich hingesetzt und eine Art Puffer in meiner Blogsoftware implementiert.

Die Funktionsweise
Grob zusammengefasst tut mein Cache folgendes: Beim Aufruf einer Seite mit einem bestimmten GET-Parameter wird eine Funktion aufgerufen, die die URL der aufgerufenen Seite ausliest. Die Funktion holt sich die generierte Ausgabe der Seite, also das Ergebnis der SQL-Abfragen, und speichert diese in einer nach der Seite benannten Textdatei ab. Wenn anschließend ein Seitenaufruf stattfindet, wird von nun an nicht mehr die Datenbank bemüht, sondern der komplette Inhalt der Textdatei ausgegeben. Das ist wesentlich performanter und verkürzt die Ladezeiten.

Die Grundlage, also das Speichern der generierten Inhalte einer Seite, bieten die Funktionen der PHP-Ausgabepufferung:
function cache_schreiben() { $datei = fopen("cache/".preg_replace("/([&\?]cache=)([^&^\"]+)/i","",$_SERVER[REQUEST_URI]).".cache","w+"); $file=ob_get_contents(); fwrite($datei, $file); fclose($datei); }
Das ist die Funktion, die den PHP-Buffer ausliest und den Inhalt in eine Datei schreibt. Mit dem regulären Ausdruck wird der GET-Parameter „cache“ ausgefiltert, der lediglich dazu zuständig ist die Erneuerung des Caches zu bewirken. Möglicherweise muss vorher noch die Ausgabebufferung aktiviert werden, bei mir ist das nicht der Fall.
$datei="cache/".preg_replace("/([&\?]feed=)([^&^\"]+)/i","",preg_replace("/([&\?]cache=)([^&^\"]+)/i","",$_SERVER[REQUEST_URI])).".cache"; if(!isset($_GET['cache']) AND file_exists($datei)) { $datei=fopen($datei, "r"); while (!feof($datei)) { $buffer = fgets($datei, 4096); echo $buffer; } die; }
Diese Abfrage sollte am Anfang der Seite eingebaut werden. Die Textdatei wird, wenn sie existiert und der GET-Parameter nicht gesetzt ist, ausgelesen und der Inhalt ausgegeben. Jetzt muss nur noch festgelegt werden, was passiert wenn die Datei nicht vorhanden ist oder der Parameter an die URL angehängt worden ist:
if (!file_exists($datei) OR $_GET['cache']==1) { cache_schreiben(); }
Fertig!

tags:#php #programmierung #web
0 Kommentare

Link 13.02.11, 19:25:49

One More Theory

Bizarro - One More Theory

Klingt plausibel.
Achja: Wer sich fragt was das Kuchenstück, die Abkürzung „K2“, das Dynamit und die Fischflosse bedeuten, die im unteren Teil des Bildes herumschwimmen, der findet die Antwort in der Wikipedia.

Sorry, dass ich in letzter Zeit nicht viel bedeutendes gebloggt habe, aber das wird sich hoffentlich in den nächsten Tagen ändern.
tags:#comic #lustig #religion
0 Kommentare

Link 06.02.11, 21:18:53

Insekten essen‽

Insekten essen.
Hört sich komisch an. Viele ekeln sich vielleicht (zu unrecht!) davor. Andere können es sich einfach nicht vorstellen oder haben es noch nie ausprobiert.
Ein fröhlicher grüner Wurm. Ich muss zugeben, dass ich schon einige Insekten gegessen habe, hauptsächlich um ein paar meiner Freunde zu schocken. Ist ja auch nicht schwer: Totschlagen, Augen zu, reinwerfen und ohne viel nachzudenken runterschlucken. Danach ist man die nächsten 3 Wochen das große Thema und jeder schaut dich mit so einem angeekelten Blick an. Fühlt schlecht Mann.
Jedenfalls sollte man sich in Zukunft daran gewöhnen Insekten essen zu müssen, wenn man dem TED-Talk von Marcel Dicke Glauben schenken mag:


In seinem Vortrag nennt er die vielen Vorteile, die der Verzehr von Insekten statt Fleisch mit sich bringt. Unter anderem ist es klimafreundlicher, billiger und gesünder. Außerdem essen wir bereits jetzt — wenn auch unwissentlich — zum Beispiel Farbstoffe, die aus Insekten hergestellt werden.
Wer also kein Vegetarier ist, könnte durch den Verzicht auf Fleisch und der Ernährungsumstellung auf Insekten der Umwelt etwas gutes tun. Da ich mich leider nicht vegetarisch ernähre, habe ich mich mal auf die Suche nach Bezugsquellen für Insekten im Internet gemacht, da es bekanntlich ja nicht an jeder Ecke einen Delikatessen-Laden gibt. Gefunden habe ich unter anderem diesen Onlineshop.
Der Blick auf den Preis macht mir jedoch die Idee mit dem Insektenverzehr etwas madig. Hahaha, super Wortwitz. Nein im Ernst: 10g für 5€? Mehr als vielleicht irgendwann ausprobieren ist für mich zu diesem Preis nicht drin. Hoffentlich gibt es in naher Zukunft mehr Insektenfarmen. Dann wäre ich auch bereit meine Ernährung vollständig auf diese kleinen Tierchen zu fokussieren.

[via]
tags:#essen #zukunft #insekten
0 Kommentare

Link 02.02.11, 20:56:21

the difference between hardcore metal fans and ordinary humans

difference between hardcore metal fans and ordinary humans

tags:#metal #musik #cartoon
0 Kommentare

Link 27.01.11, 19:12:45

Erneuter Skandal bei der Bundeswehr

Verteidigungsminister Karl-Theodor Freiherr von und zu Guttenberg steht weiterhin unter Beschuss:

So oder so ähnlich soll ein Soldat in Afghanistan laut Insider-Berichten aussehen Nach dem Wirbel um die Vorfälle auf der Gorch Fock, dem Tod eines Soldaten durch „friendly fire“ und den geöffneten Feldpostbriefen ist nicht nur — wie Der Postillon exklusiv berichtete — Guttenbergs Haargel alle, der Freiherr hat auch mit den Folgen der Aufdeckung eines weiteren Skandals zu kämpfen.

Denn aus Insider-Berichten eines Soldaten wurde ersichtlich, dass die Bundeswehr seit 2002 vermutlich einen Krieg in Afghanistan führt, und das von der Öffentlichkeit nahezu unbemerkt! Dieser Kriegseinsatz steht im krassen Gegensatz zur ursprünglichen Verteidigungsaufgabe der Streitkräfte und lässt die Bundesrepublik nicht zuletzt durch den Mangel an vorzeigbaren Erfolgen in einem schlechten Licht dastehen. Die mangelnde Thematisierung des Krieges liegt laut Experten größtenteils am Desinteresse der Bevölkerung und taktischen Verwirrspielchen des Verteidigungsministers (militärisch angemessen - militärisch unangemessen).

Einige Stimmen fordern bereits den Rücktritt des — fälschlicherweise als Einhorn identifizierten — Ministers. Sollten sich die Gerüchte über einen Krieg in Afghanistan bewahrheiten, ist dringend ein Rückzug aus Afghanistan in Betracht ziehen, um ein weiteres, weitestgehend nutzloses Blutvergießen zu verhindern.

Guttenberg ließ über seinen Sprecher verlauten, dass er erst mal abwarten will, was die BILD dazu meint. Zu einer weiteren Stellungnahme war er jedoch noch nicht bereit.

Foto rechts: So oder so ähnlich soll ein Soldat in Afghanistan laut Insider-Berichten aussehen. Quelle: openclipart.org Lizenz: Public Domain

tags:#politik #satire #krieg
0 Kommentare

Ältere Einträge

Neuere Einträge