Flask Webshop Produktinformationen laden

Django, Flask, Bottle, WSGI, CGI…
Antworten
4fersen
User
Beiträge: 11
Registriert: Samstag 28. März 2020, 21:47
Wohnort: 127.0.0.1

Hallo Leute,
ich versuche mich gerade an der Webentwicklung eines Onlineshops mithilfe von Flask zu wagen.

Bekomme alles auch ganz gut hin, nun jetzt zu meiner Frage:

Wie hinterlege ich am besten die Produkte, damit Flask diese lädt? Ich habe bei anderen Nutzern mal in den Code geschaut und gesehen, dass jedes mal wenn ein Besucher auf ein Produkt klickt bzw. eine Webseite geladen wird, eine SQL Datenbankabfrage rausgeschickt wird, um Beschreibung, Titel, Preis usw zu laden, was mir aber überhaupt nicht gefällt, da ich meine, dass dies nicht sonderlich übersichtlich ist, wie z.B. in einer JSON Datei. Was meint ihr, wäre es verwerflich die Produktdaten in einer JSON Datei zu speichern, oder gibt es auch noch andere Möglichkeiten?

Außerdem habe ich mich gefragt, ob der Server nicht vielleicht auch die Produktinformationen cashen könnte, ich meine dies würde die Ressourcen deutlich schonen als wenn der Server jedes mal alle Informationen neu zusammen suchen muss. Bei mir z.B. würde sich recht wenig ändern am Shop, vielleicht einmal in zwei Wochen, weswegen der Server von mir aus die Informationen so lange speichern könnte.

Wie habt ihr das gelöst?

Würde mich freuen, wenn ihr mir von euren Erfahrungen berichten könntet.

Liebe Grüße
4fersen
Sirius3
User
Beiträge: 18255
Registriert: Sonntag 21. Oktober 2012, 17:20

Ja, caching wird recht oft benutzt. Und ja, man kann das auch in einer anderen Form als in einer SQL-Datenbank speichern. Alles hat seine Vor- und Nachteile. Daher gibt es auch keine Lösung, die auf alles passt.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Bei Zalando werden diese Informationen kombiniert (Produkt, Preis, und Stock kommen aus separaten Microservices und kommunizieren updates via Nakadi (lies: Kafka)), aggregiert und in ElasticSearch gespeichert.

Caching kann man eigentlich nur sehr eingeschränkt betreiben zumindest im Katalog, wo ja Suche und Personalisierung eine große Rolle spielt.

Gerade bei einem kleineren Webshop würde ich aber schon ernsthaft überlegen, ob eine SQL Abfrage da wirklich so schlimm ist. Es geht ja nur um reads, da kann man ja recht gut horizontal mit read replicas skalieren.
Antworten