Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 14:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



PHPCache-Bibliothek fertiggestellt

Discussion on PHPCache-Bibliothek fertiggestellt within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
PHPCache-Bibliothek fertiggestellt

Ein kleines Nebenprodukt meiner Arbeit am Browsergame...
Um die Skript-Laufzeiten zu optimieren, brauchte ich einen serverseitigen Cache, welcher die generierten Dateien als Textdatei fertigstellt.
Meine Bibliothek bietet verschiedene Funktionen, mit welchen sich mühelos entsprechende Dateien erstellen, öffnen und auf Aktualität überprüfen lassen können...
Entsprechende Cache-Dateien werden vor'm Speichern komprimiert, um den Server möglichst wenig zu belasten.

Eine kleine, deutsche Dokumentation ist als *.docx und *.pdf beigelegt.
Die englische Variante folgt noch.
Das Ganze ist unter einer eingeschränkten -Lizenz nutzbar.

Feedback ist erwünscht!

Edit: Ganz den Download-Link vergessen... xD


Ältere Versionen:

#update
Bei der Nutzung der Bibliothek war es nicht mehr möglich, die Datei vorm Versenden GZip zu komprimieren, was in Sachen Geschwindigkeitsoptimierung mindestens genauso viel Leistung gebracht hätte.
Um dies zu ermöglichen, wurden zusätzliche Funktionen ergänzt.
Näheres s. ChangeLog.
PseudoPsycho is offline  
Old 03/24/2012, 15:14   #2
 
qickly's Avatar
 
elite*gold: 0
Join Date: Apr 2011
Posts: 351
Received Thanks: 57
#message
Sieht sehr gut aus, womit wurde das programmiert?
qickly is offline  
Old 03/24/2012, 15:27   #3


 
.Marcel''s Avatar
 
elite*gold: 100
Join Date: Sep 2009
Posts: 8,133
Received Thanks: 2,760
Quote:
Originally Posted by qickly View Post
#message
Sieht sehr gut aus, womit wurde das programmiert?
PHP und einem Editor...
.Marcel' is offline  
Old 03/24/2012, 16:01   #4
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by .Marcel' View Post
PHP und einem Editor...
PHP. Editor kannst'e streichen, es sei denn du meinst einen reinen Text-Editor...
Sowas hab' ich nicht nötig. ^^

#update
Version 0.3 fertig!
Die Version dürfte der Nutzerfreundlichkeit wohl stark entgegenkommen...
Kürzere Funktionsnamen und leichtere Bedienung in Sachen Komprimierung.
PseudoPsycho is offline  
Old 03/25/2012, 15:25   #5
 
Mashkin's Avatar
 
elite*gold: 44
Join Date: May 2010
Posts: 2,053
Received Thanks: 1,747
Sieht ganz nett aus, kann ich aber leider momentan nicht gebrauchen (ich nutze bereits ein Framework mit Templating und Cache).

Wie stehts um eine Erweiterung um Schnittstellen für Memcached und Datenbanken?
Das soll jetzt kein Feature-Request sein, sondern eher eine Idee...

Ach ja und generell würde ich Klassen mit PHPDoc dokumentieren.

Und soweit ich das bei CC verstanden habe ist deine Lizenz-Datei formell nicht ganz korrekt - aber das ist jetzt Klugscheißerei.
Mashkin is offline  
Old 03/25/2012, 19:17   #6
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by M@shkin View Post
Wie stehts um eine Erweiterung um Schnittstellen für Memcached und Datenbanken?
Das soll jetzt kein Feature-Request sein, sondern eher eine Idee...
Schonmal danke für's Feedback!
Weiß nicht genau, was du damit meinst... Bislang wird einfach das komplette PHP-Skript umgangen, wenn die Cache-Datei aktuell ist, btw. je nach dem, was man da als Bedingung angibt.
Man könnte natürlich in die DB einen TimeStamp bei jeder Änderung eintragen und dann diese Abfrage verwenden:
PHP Code:
if($cache->isCached() && $mysql_timestamp<=$cache->last()){
$cache->get(); } 
Auf die Art wird der Cache nur geladen, wenn sich an der DB nichts geändert hat...

Quote:
Ach ja und generell würde ich Klassen mit PHPDoc dokumentieren.
Sagt mir ehrlich gesagt nicht das Geringste. Was hat es damit auf sich, btw. warum nicht als PDF?

#update
Und wieder eine Version mit vielen, winzigen Änderungen:
Behobene Bugs:
- sendHeader() schmeißt nun keine Fehlermeldung mehr, wenn die Cache-Datei nicht existiert.

Verbesserungen:
- TimeStamp-Kommentar wird nun beim Senden, statt beim Speichern ergänzt
- zusätzliche Fehlermeldungen
- checkDate() beinhaltet nun eine isCached()-Abfrage
- Funktionen zur Komprimierung senden nun einen X-Compression-Header, wenn noch nicht geschehen

Sonstiges:
- Die error()-Funktion kann nicht mehr von externen Anwendungen aufgerufen werden
PseudoPsycho is offline  
Old 03/26/2012, 23:21   #7
 
Mashkin's Avatar
 
elite*gold: 44
Join Date: May 2010
Posts: 2,053
Received Thanks: 1,747
Quote:
Originally Posted by PseudoPsycho View Post
Schonmal danke für's Feedback!
Weiß nicht genau, was du damit meinst... Bislang wird einfach das komplette PHP-Skript umgangen, wenn die Cache-Datei aktuell ist, btw. je nach dem, was man da als Bedingung angibt.
Man könnte natürlich in die DB einen TimeStamp bei jeder Änderung eintragen und dann diese Abfrage verwenden:
PHP Code:
if($cache->isCached() && $mysql_timestamp<=$cache->last()){
$cache->get(); } 
Auf die Art wird der Cache nur geladen, wenn sich an der DB nichts geändert hat...

Ich meinte damit den gesamten Cache in einer Datenbank oder per "Mamcached" zu speichern. Es gibt Situationen in denen das Vorteile gegenüber Dateien hat
(z.B. bei Load-Balancing mit mehreren Webservern).


Sagt mir ehrlich gesagt nicht das Geringste. Was hat es damit auf sich, btw. warum nicht als PDF?

PHPDoc ist eine Art Syntax für Kommentare, mit der man Klassen, Methoden, Parameter etc. beschreiben kann, z.B. so:
PHP Code:
/**
* Gibt den Inhalt einer Variable aus
* @param $var Diese Variable wird ausgegeben.
* @version 1.1
*/
public static foo($var)
{echo 
$var;} 

#update
Und wieder eine Version mit vielen, winzigen Änderungen:
Behobene Bugs:
- sendHeader() schmeißt nun keine Fehlermeldung mehr, wenn die Cache-Datei nicht existiert.

Verbesserungen:
- TimeStamp-Kommentar wird nun beim Senden, statt beim Speichern ergänzt
- zusätzliche Fehlermeldungen
- checkDate() beinhaltet nun eine isCached()-Abfrage
- Funktionen zur Komprimierung senden nun einen X-Compression-Header, wenn noch nicht geschehen

Sonstiges:
- Die error()-Funktion kann nicht mehr von externen Anwendungen aufgerufen werden
Siehe rechtsbündige Kommentare...
Mashkin is offline  
Old 03/27/2012, 16:18   #8
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by M@shkin View Post
Ich meinte damit den gesamten Cache in einer Datenbank oder per "Mamcached" zu speichern. Es gibt Situationen in denen das Vorteile gegenüber Dateien hat
(z.B. bei Load-Balancing mit mehreren Webservern).
Joa, für MySQL ist bereits eine Erweiterung in Entwicklung, also sowas:
PHP Code:
class MySQLCache extends PHPCache 
PseudoPsycho is offline  
Old 03/29/2012, 17:35   #9
 
PseudoPsycho's Avatar
 
elite*gold: 1715
Join Date: Dec 2011
Posts: 672
Received Thanks: 207
Quote:
Originally Posted by M@shkin View Post
Wie stehts um eine Erweiterung um Schnittstellen für Memcached und Datenbanken?
Das soll jetzt kein Feature-Request sein, sondern eher eine Idee...
Also, V1.0 ist fertig!
Besonderes Feature:
Die PHPCache.php bietet nun Möglichkeiten zur Aufschaltung von Erweiterungen, so habe ich bereits eine erste, recht umfangreiche Extension fertig geschrieben: MySQLCache.
Hierbei wird der Cache nämlich statt als Datei in eine Datenbank geschrieben und sie bietet einige weitere Abgleichs-Funktionen.
PseudoPsycho is offline  
Reply

Tags
bibliothek, cache, freeware, php, phpcache


Similar Threads Similar Threads
Steam Spiel plötzlich in der Bibliothek !?
10/15/2011 - Main - 14 Replies
Hey. Ich bin heute in steam on gekommen und plötzlich ist Warhammer und Modern Warfare 3 Beta drin !?!?!?!??!?!!?!?!?!!!!!!!? Ich hatte es nicht auf der wunschliste oder so... lol Sollte ich diesen bug ausnutzen oder es melden ?
[c++]Bibliothek mit Baumstruktur erstellen
04/29/2011 - C/C++ - 6 Replies
Hallo Leute, ich muss bis Sonntag für die Uni ein eigentlich einfaches c++ Terminal Programm schreiben. Ich bin erst im zweiten Semester und kenne mich zwar mit der c-Syntax und Algorithmen aus, aber ich verzweifle grad an der ganzen OOP Sache :confused: Die Aufgabe ist folgende: - drei Dateien (tree.h, tree.cxx und main.cxx) erstellen. - Es soll eine Baumstruktur erstellt werden mit einem Objekt namens "node" - die Memberfunktionen sind : Konstruktor
WR HACK---ich hab heute meinen ersten Hack fertiggestellt=)---WR HACK
11/22/2010 - WarRock Hacks, Bots, Cheats & Exploits - 17 Replies
So hab Heute meinen ersten NoMenü Hack fertiggestellt konnte ihn leider nochticht ausprobieren deswegen sollt ihr das machen bitte:handsdown::handsdown::handsdown: er hat nur wenig Funktionen: SuperJump: STR
Windows 7 Bibliothek Problem
08/22/2010 - Technical Support - 3 Replies
Hi, mich stört bei meiner Windows 7 Bibliothek Folgendes: screen1.jpg - Bilder und Fotos kostenlos auf ImageBanana hochladen screen2.jpg - Bilder und Fotos kostenlos auf ImageBanana hochladen Über den Ordnern steht ja Eigene Musik (6) C:\Benutzer\Marco bzw. Eigene Dokumente (17) C:\Benutzer\Marco. Das stand bei mir vorhin noch nicht da und iwie stört es mich wirklich, deswegen wäre es echt nett wenn mir jemand sagen könnte wie ich das wieder wegbekomme. Lg und danke im Vorraus, Marco
Dire Maul / Bibliothek
09/25/2005 - World of Warcraft - 2 Replies
so, da man ja so schön die Klassenbücher bei Tendris Warpwood farmen kann, wollte ich heute mal das Item abholen. Habe dazu allerdings keine Koordinaten gefunden. Da ich es jetzt selbst gemacht habe, poste ich die Koords hier rein um möglicherweise einigen Leuten etwas Arbeit zu ersparen :) Dire Maul / Düsterbruch Eingang, 1, 1249.635, -3750.449, 160.261 Ausgang, 429, 158.830, 30.689, -3.471 Bibliothek, 429, 470.073, 154.272, -48.467 Eingang/Ausgangskoords sind aus dem Thread...



All times are GMT +2. The time now is 14:46.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.