php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 02-06-2007, 01:20
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP-Cache

Bin gerade am überlegen wie ich am besten ein kleinen PHP-Cache realisiere. Habe mich nun schlau gemacht mit ob_get_contents() etc.

Aber nun meine Frage: wie entscheidet ihr ob eine Datenmenge "outdated" ist?

Ich hatte mir ein paar Denkansätze überlegt:

1. MD5-Summen vergleichen <- aber wie aufwendig ist MD5 implementiert?
2. Zeichengröße vergleichen <- bei großen Datenmengen langsam? was ist bei gleicher Größe und versch. Inhalt?
3. Jede halbe Stunde neues Daten anfordern <- Einfach, aber nicht optimal
4. ein Algo, der z.b. jedes n. Zeichen prüft mit n ~ zeichenlänge <- ähnlich wie bei 2 nur schneller, dafür Fehleranfälliger
5. substr_compare <- wie schnell ist das?

Was benutzt ihr für Methoden?
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"
Mit Zitat antworten
  #2 (permalink)  
Alt 02-06-2007, 12:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: PHP-Cache

Zitat:
Original geschrieben von zerni
Aber nun meine Frage: wie entscheidet ihr ob eine Datenmenge "outdated" ist?
Ähm ... vielleicht anhand von Timestamps ...?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 02-06-2007, 13:09
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ja das habe ich auch im Punkt 3 geschrieben, aber nur weil ein Dokument 5 Stunden alt ist, muss es ja nicht unbedingt neu geladen werden, wenn sich die Daten nicht geändert haben...
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"
Mit Zitat antworten
  #4 (permalink)  
Alt 02-06-2007, 18:43
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von zerni
ja das habe ich auch im Punkt 3 geschrieben
So meinte ich das natürlich nicht.
Zitat:
aber nur weil ein Dokument 5 Stunden alt ist, muss es ja nicht unbedingt neu geladen werden, wenn sich die Daten nicht geändert haben...
Deine Frage war, wie man entscheidet, ob Daten als obsolet zu betrachten sind - und genau darauf bezog sich meine Antwort.


Wenn es dir um Caching im HTTP-Umfeld geht - dann beschäftige dich mit den zuständigen RFCs, und dabei insb. mit den für Caching zuständigen Headern.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 02-06-2007, 18:59
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

nene ich meinte schon Caching auf dem Server.

Sry der Begriff Dokument war falsch. Datenmenge trifft es besser!
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"
Mit Zitat antworten
  #6 (permalink)  
Alt 02-06-2007, 19:49
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von zerni
nene ich meinte schon Caching auf dem Server.
Na wo ist dann das Problem - Timestamp der Daten und der Speicherung vergleichen, fertig.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 02-06-2007, 20:47
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mir geht es um den performantesten Datevergleich, aber ist egal ich benchmarke und schreibs dann hier rein
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"
Mit Zitat antworten
  #8 (permalink)  
Alt 04-06-2007, 16:49
hacktor1981
 Newbie
Links : Onlinestatus : hacktor1981 ist offline
Registriert seit: Jun 2007
Beiträge: 3
hacktor1981 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich gehe mal davon aus, dass du mit PHP-Cache Klasse ein Objekt meinst, dass die Daten im Arbeitsspeicher bereit hält.

Jeder Änderung dieses im Speicher befindlichen Inhalts sollte also auch durch diese PHP-Cache Klasse erfolgen.

Da es sich um mehrere verschiedene Inhalte handelt, wirst du diese sehr wohl durch ein ID gekennzeichnet haben.

So musst du die PHP-Cache Klasse nur noch dazu veranlassen, eine Aktualisierungstabelle bei jeder Änderung mit der zu aktualisierenden ID zu speichern.

Sollten die Daten zuvor aus einer Datenquelle aus dem Dateisystem geladen werden. So steht dir hierfür ein Zeitpunkt der Erstellung einer Datei zur Verfügung der sich auch mit PHP auslesen lässt. Der Zeitpunkt der Erstellung ändert sich bei jeder Bearbeitung/Änderung der Datei.

Sollten die Daten zuvor aus einer MySQL-Datenbank vorbereitet werden, so ist in diesem Fall die Verwendung von INNO-DB Datenbanktabellen hervorragend geeignet um eine Aktualisierungsliste innerhalb von MySQL zu realisieren, in dem du die entsprechende ID des Inhaltes mit einer Akutalisierungstabelle per "FOREIGN KEY" und "ON UPDATE" verknüpfts.

Dies sollte eine recht performante Methode sein.
Mit Zitat antworten
  #9 (permalink)  
Alt 04-06-2007, 17:33
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von hacktor1981

Sollten die Daten zuvor aus einer Datenquelle aus dem Dateisystem geladen werden. So steht dir hierfür ein Zeitpunkt der Erstellung einer Datei zur Verfügung der sich auch mit PHP auslesen lässt. Der Zeitpunkt der Erstellung ändert sich bei jeder Bearbeitung/Änderung der Datei.
Ich stimme dir fast vollständig zu, so ähnlich hatte ich mir das auch gedacht, aber:

Man nehme an eine Datei ist 5 Stunden alt, aber man sobald ein timestamp älter als 30 Minuten ist, will man etwas neu laden -> Datei wird neu geladen
Nun gibt es 2 Fällt: Die Datei hat wirklich neuen Inhalt oder die Datei hat noch den gleichen inhalt
Nach euch wird jetzt die Datei neu geladen, weil der Timestamp outdated ist, aber wenn es der gleiche Inhalt ist, brauch man das doch garnicht!

somit wäre zusätzlich zu dem Timestamp es doch auch noch sinnvoll nachzuprüfen, ob das alte Datenpaket dem neuen gleicht. Wenn ja wird es einfach beibehalten.

Meine Frage war nun WIE dieser Vergleich am besten stattfindet
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"
Mit Zitat antworten
  #10 (permalink)  
Alt 04-06-2007, 17:38
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Ich war davon ausgegangen, dass sich der Timestamp der Daten nur dann ändert, wenn auch etwas an den Daten geändert wurde.

Wenn das bei dir nicht der Fall ist - dann beschreibe bitte das Umfeld detailierter, damit wir nicht noch länger raten müssen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 04-06-2007, 18:16
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

achso ne, dann haben wir aneinnander vorbeigeredet

ich dachte ihr meint, dass ihr NUR prüft ob 30 Minuten rum sind, wenn ja dann läd er die Daten einfach rein.

ok habs soweit kapiert und setz es einfach mal so um. verfeinern kann ich dann später
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"
Mit Zitat antworten
  #12 (permalink)  
Alt 04-06-2007, 18:24
hacktor1981
 Newbie
Links : Onlinestatus : hacktor1981 ist offline
Registriert seit: Jun 2007
Beiträge: 3
hacktor1981 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Aus Gründen der Performance, um den Prozess der MD5 Prüfung umgehen zu können, gäbe es noch die Möglichkeit des Vergleichs der Kilobyte Größen um die Anwendung nicht zusätzlich durch die MD5 Summen zu belasten.
Erst wenn dieser Wert gleich ist, wird eine MD5 Prüfung gestartet.

Beachte hierbei, dass die Daten die selbe Codierung verwenden.

--------------------------------------------------------------------------------------
http://www.php.net/filectime
http://www.php.net/md5_file
http://www.php.net/crc32
http://www.php.net/filesize
Mit Zitat antworten
  #13 (permalink)  
Alt 04-06-2007, 19:25
zerni
 Member
Links : Onlinestatus : zerni ist offline
Registriert seit: Oct 2006
Beiträge: 268
zerni ist zur Zeit noch ein unbeschriebenes Blatt
Standard

JA!!!!! GENAU DAS!!!!!!!

eine Möglichkeit wäre auch das: substr_compare

sobald die mündlichen bei mir rum sind, schreib ich mal eine Klasse dafür
__________________
Killerspiele sollten in der Größenordnung von Kinderpornografie eingeordnet werden.(G. Beckstein)
- ...und solche Behauptungen in "falsches Resourcenmanagement"

Geändert von zerni (04-06-2007 um 19:45 Uhr)
Mit Zitat antworten
  #14 (permalink)  
Alt 04-06-2007, 20:22
PHPler
 Registrierter Benutzer
Links : Onlinestatus : PHPler ist offline
Registriert seit: Oct 2003
Beiträge: 250
PHPler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Würde generell nen anderen Ansatz nehmen:

Code:
if(... cachedatei nicht vorhanden ...) {
    ... erstelle cachedatei ...
}
... lade daten aus cachedatei ...
Damit liest Du generell alles aus dem Cache. Solltest Du irgendwo was an den Daten verändern, würde ich die entsprechende Cachedatei beim Verändern einfach löschen, worauf vom Script dann halt eine neue erstellt wird. Damit haste deine Daten dauerhaft im Cache liegen und musst Dir über das Alter keine Gedanken mehr machen...
Mit Zitat antworten
  #15 (permalink)  
Alt 04-06-2007, 20:31
hacktor81
 Newbie
Links : Onlinestatus : hacktor81 ist offline
Registriert seit: Jun 2007
Beiträge: 15
hacktor81 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Damit liest Du generell alles aus dem Cache. Solltest Du irgendwo was an den Daten verändern, würde ich die entsprechende Cachedatei beim Verändern einfach löschen, worauf vom Script dann halt eine neue erstellt wird. Damit haste deine Daten dauerhaft im Cache liegen und musst Dir über das Alter keine Gedanken mehr machen...
Ich persönlich würde auch diesen Ansatz verwenden. Allerdings setzt es die Ausführung der Routine voraus.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:24 Uhr.