Ich versuche Objekte in localStorage
zu speichern, aber manchmal fehlt mir der Speicherplatz.
Wenn ich versuche, ein Objekt mit localStorage
zu speichern, aber nicht genügend Speicher - gibt es eine Möglichkeit, einfach so viele lokale Daten zu löschen, wie benötigt, um diesen Speicherplatz freizugeben, indem die ältesten Elemente gelöscht werden?
Gibt es eine API in Browsern, mit der ich das tun kann?
Hier ist ein kleiner Proof of Concept, den ich gerade aufgepeppt habe. Es wird davon ausgegangen, dass eine Ausnahme ausgelöst wird, wenn Sie versuchen, Elemente zu speichern, und keinen Speicherplatz haben.
Code ist mit Anmerkungen versehen
%Vor% Inspiriert von @ Benjamins genialem Proof-Of-Concept habe ich etwas von seinem Code verwendet, um mit einer anderen Lösung zu kommen, diese Funktion entfernt den am wenigsten verwendeten Wert. Zum Beispiel haben Sie einen Wert wie user_id
, den Sie oft für diesen Wert lesen, aber wenn dieser zuerst hinzugefügt wurde, verlieren Sie ihn, wenn Sie keinen Speicherplatz mehr haben.
Diese Lösung wird also den Wert entfernen, je nachdem wie stark sie verwendet wurden
%Vor%Auch wenn Ihre Datenanforderungen wirklich hoch sind, sollten Sie in Erwägung ziehen, zu indexedDB anstatt zu localStorage zu wechseln. : -)
Ich habe das in Google gefunden: Ссылка Ist eine Memcache-Bibliothek für den lokalen Speicher
Tags und Links javascript