Globale Variable in Django
Ich habe eine Anfängerfrage zu Django: Gibt es eine Möglichkeit, globale Variablen zu definieren, die ähnlich wie die Session-Variablen sämtlichen Modulen sowohl lesend als auch schreibend zur Verfügung stehen und das aber unabhängig von den Sessions wirklich global.
Ich möchte ein Ergebnis, das aus vielen Datenbankabfragen erstellt und dann mit HTML aufbereitet wird, für die weitere Abfragen abspeichern. Das Ergebnis ist zu groß ,um es in einer Varchar-Spalte abzulegen, daher kommt leider auch ein "In Memory Table" nicht in Frage. Weshalb sind globale Variablen so verpönt? Es gibt durchaus sinnvolle Anwendungen dafür.
Globale Variablen machen es sehr schwer Code zu testen und zu verstehen, außerdem führen sie zu Problemen bei Parallelisierung und machen es dchwer bis unmöglich eine Anwendung horizontal zu skalieren.Brosche hat geschrieben:Weshalb sind globale Variablen so verpönt? Es gibt durchaus sinnvolle Anwendungen dafür.
Mit anderen Worten es gibt keine sinnvolle Anwendung von globalen Variablen im Kontext von Web Anwendungen. Verwende einen Cache wie Memcache oder einen Key/Value Store wie z.b. Redis.
- noisefloor
- User
- Beiträge: 4151
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Gruß, noisefloor
? - was denn jetzt? Wir das ständig aktualisiert - dann machen Caching keine Sinn. Wird das 1x pro Tag oder so aktualisiert? Dann kannst du Cachen oder generiest 1x pro Tag eine statische Seite, die Django dann ausliefert.Ja, es ist ein Teil einer HTML-Seite, der ständig aktualisiert/verändert und nachgeladen wird.
Gruß, noisefloor
Doch, das Caching ist sinnvoll, auch wenn die Seite oft aktualisiert werden muss.
Ihr habt mir aber bereits meine Fragen beantwortet, ich wollte das nur mal grundsätzlich mit den globalen Variablen wissen. Ich werde nun das Caching einsetzen und bedanke mich für Eure Beiträge.
Ihr habt mir aber bereits meine Fragen beantwortet, ich wollte das nur mal grundsätzlich mit den globalen Variablen wissen. Ich werde nun das Caching einsetzen und bedanke mich für Eure Beiträge.