Hello,
Perfekt ist das lange noch nicht. dazu müssten wir eine vernünftige Klasse daraus machen...
Ist aber ausreichend ;-)
Ich schlage vor, nun erst noch die notwendigen Funktionen für die bequeme Benutzung der flat_box fertig zu machen und sie dann bei Gelegenheit auf PHP OOP 5 umzustellen. Das ist eine schöne Übung...
Die Korrekturen habe ich schon durchgeführt. Es bringt so adhoc ca. 30-40% ersparnis. Allerdings wird die drastisch ansteigen, wenn man tatsächlich konkurrierenden Betrieb hat. Es gibt dann ja auch weniger Collisions.
Ist das die Datei random.php? Schaue ich mir gleich mal an.
Nein, random.php ist schon die nächste Art der Speicherung.
Die nächste Möglichkeit der Speicherung habe ich exemplarisch auch schon fertig und Dir geschickt. Random-Access-File mit variantem Record, also im Datensatz liegt ein Array mit den Daten, aber jeder Satz für sich bleibt in seinem Slot. Das ist natürlich verdammt schnell gegenüber der Monsterarray-Variante, vergeudet aber eine Menge Platz.
Was für Platz wird vergeudet? Speicherplatz kann es ja nicht sein, da du untern sagst sehr "speichersparsam". Welcher Platz wird also (sinnlos) vergeudet?
Sorry für das Missverständnis. Es wird viel Platz auf der Platte vergeudet, aber wenig im Hauptspeicher, da immer nur der betroffene Datensatz eingelesen werden muss. Das gilt natürlich nur für klassische PC-Systeme. Aber die sind ja hauptsächlich im Einsatz im Internet.
Dafür ist die Lösung sehr Speichersparsam und kann bis zur maximalen Adressierbarkeit in Flat-Files genutzt werden. Das werden dann wahrscheinlich die berühmten 2,14 Gigabytes sein pro File. Ich weiß leider nicht, wo man das nachlesen kann.
Gigabytes? Sprachen wir nicht mal früher von 2 Megabytes? ;-)
Ja, 2MB ist die absolute Grenze für das erste Verfahren.
ca. 2GigaBytes sind dann die Grenze für das zweite Verfahren.
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau