Django zwischenspeichert eine große Liste

Meine Django-Anwendung verarbeitet 25 MB Binärdateien. Jeder von ihnen hat ungefähr 100.000 "Datensätze" von jeweils 256 Bytes.

Ich brauche ungefähr 7 Sekunden, um die Binärdatei von der Festplatte zu lesen und sie mit dem Strukturmodul von Python zu dekodieren. Ich verwandle die Daten in eine Liste mit ungefähr 100.000 Elementen, wobei jedes Element ein Wörterbuch mit Werten verschiedener Typen (float, string usw.) ist.

Meine Django Views müssen diese Liste durchsuchen. Offensichtlich sind 7 Sekunden zu lang.

Ich habe versucht, mit der Low-Level-Caching-API von Django die gesamte Liste zwischenzuspeichern, aber das funktioniert nicht, da für jedes einzelne zwischengespeicherte Element eine maximale Größe von 1 MB festgelegt ist. Ich habe versucht, die 100.000 Listenelemente einzeln zwischenzuspeichern, aber das dauert viel mehr als 7 Sekunden - die meiste Zeit wird für das Entfernen der Elemente aufgewendet.

Gibt es eine bequeme Möglichkeit, eine große Liste zwischen Anforderungen im Speicher abzulegen? Können Sie sich eine andere Möglichkeit vorstellen, das Objekt für die Verwendung durch meine Django-App zwischenzuspeichern?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage