2013-02-12 159 views
0

我有一個JS應用程序保存到localStorage。沒什麼大不了。但是,存儲的是相當大的JSON。 10MB快速消失。我想要做的是,如果存儲空間已滿,請刪除最舊的記錄。從localStorage刪除最舊的記錄

有沒有辦法在localStorage中可靠地找到最舊的記錄?

+0

不是真的,localStorage沒有任何內置的功能來處理它。你總是可以自己在localStorage之上構建一個圖層;一個可以擴展本地存儲的層,可以跟蹤每個關鍵點何時更改,以便您可以知道哪個是最舊的記錄。 – 2013-02-13 11:17:34

+0

伊萬,你應該把它變成一個答案,所以我可以標記它是正確的。 :)它看起來像一個嚴格的鍵/值分貝的標準做法是什麼在這裏最好的工作。 – 2013-02-14 17:47:13

+0

當然,把它作爲下面的答案。順便說一句。如果你最終擴展/包裝localStorage來支持這一點 - 開源它!我想會有其他人對此感興趣。 – 2013-02-14 18:24:05

回答

1

不是真的,localStorage沒有任何內置的功能來處理它。你總是可以自己在localStorage之上構建一個圖層;一個可以擴展localStorage的層,以跟蹤每個關鍵點何時更改,以便您可以知道哪個是最舊的記錄。

+0

剛剛完成這個小圖書館!工作得很好! https://github.com/benjaminallison/SuperLocal – 2013-04-08 23:46:58

1

你可以這樣做: localStorage.removeItem(localStorage.key(0));

您在localStorage.key整數指定,以獲得索引鍵的名稱。

+0

我敢肯定,這與提取/刪除*最舊*記錄無關。 – 2013-02-13 11:15:29

+0

Woops!我剛剛編輯過!我以爲他說過要刪除最後一張唱片。我運行了代碼,我很確定它現在刪除了舊記錄。 – Ricardus 2013-02-13 20:43:34