Django buforuje dużą listę

Moja aplikacja django zajmuje się 25 MB plikami binarnymi. Każdy z nich ma około 100 000 „rekordów” po 256 bajtów każdy.

Odczytanie pliku binarnego z dysku zajmuje mi około 7 sekund i dekodowanie go przy użyciu modułu struct Pythona. Zmieniam dane na listę około 100 000 pozycji, gdzie każdy element jest słownikiem z wartościami różnych typów (float, string itp.).

Moje widoki django muszą przeszukiwać tę listę. Wyraźnie 7 sekund jest za długi.

Próbowałem użyć niskopoziomowego API django do buforowania całej listy, ale to nie zadziała, ponieważ istnieje maksymalny limit wielkości 1 MB dla każdego pojedynczego buforowanego elementu. Próbowałem buforować 100 000 pozycji listy indywidualnie, ale to zajmuje dużo więcej niż 7 sekund - większość czasu spędza się na usuwaniu elementów.

Czy istnieje wygodny sposób przechowywania dużej listy w pamięci między żądaniami? Czy możesz wymyślić inny sposób buforowania obiektu do użycia przez moją aplikację django?

questionAnswers(2)

yourAnswerToTheQuestion