Hallöchen!
Die Daten sind jederzeit gleich "real-time", wie in der DB-Solution. Auch wenn du später mal den Warenkorbinhalt inspizieren möchtest (eventuell...), hättest du die Möglichkeit dazu. Das Warenkorb-Modul hätte auch im gleichen Script noch die Möglichkeit (ohne programmiertechnische Tricks) die Daten einzulesen.
Wie Du unten lesen kannst, hat sich as erledigt, sorry für die Fehlinformation ;-)
Also, für jede neue Session/Besucher erstellst du einen eindeutigen Dateinamen (1.txt, 2.txt, ...), welcher die "Sessiondaten" bzw. die Warenkorb- und Produktdaten enthält. Die .txt - Datei hat folgendes, simples, aussehen:
name1=value1
name2=value2
Das könnte ich mit einem warenkorb-array machen, den ich einfach in der Session speichern kann!
Also: Wenn du schon so performant sein willst: Es wäre unklug alle Produktdaten, welche im Warenkorb referenziert sind in die gleiche Session zu speichern; da dann mehrere Kunden über die genau gleichen Daten in der Session verfügen ( => Redundanz ). Wenn du die vorher genannte Lösung mit den .txt Dateien nimmst, könntest du das folgendermassen machen:
productID=15
count=27
...
wobei du in einem Verzeichnis /products
eine Datei 15.txt liegen hast, welche die Produktdaten enthält. Falls dann ein anderer Kunde dasselbe Produkt im Warenkorb hat, greifen beide auf dieselbe Datei zurück => Redundanz OK. Hier dürfte nur ein kleines Problem mit dem Datenabgleich aufkommen. Wenn ein Produkt-Record in der DB verändert wird, muss auch die entsprechende .txt Datei aktualisiert werden.
Naja, aber das müßte alles gepflegt werden... finde ich sehr unschön, da könnte ich ja auch auf die DB verzichten, und Probleme mit der Performance werd eich mit der DB auch nicht haben. Nur da der Warenkorb so viele Temporäre Daten und voiele Zugriffe enthält, dachte ich mir hierfür wäre evtl eine andere Art der Datenhaltung besser! Außerdem kommt es mit großer Sicheheit zu keinen Überschneidungen, da im Online-Shop eine 5-Stellige Anzahl an Artikeln liegt, wo nicht wiorklich wahrscheinlich ist, das Leute gleichzeitig denselben Artikel im Warenkorb haben, und unter dem Gesichtspunkt wäre das eine ganze Menge Arbeit für nichts und wieder nichts, auch noch unperformanter als alles in einem Session-Array zu speichern!
PS: Das Unperformante an einer Datenbank ist der Verbindungsaufbau, nicht die Query-Abfrage. Wenn du eine Verbindung im Progi offen hast, die sowieso gebraucht wird, ist der Performanceverlust wohl vorhanden, aber eher klein...
Das stimmt, die Performance ist daher auch kein Problem, nur wollte ich die best mögliche Performance bei der Neuentwicklung des Warenkorbs!
Vielen Dank udn schöne Grüße
Andreas