2013-12-15 40 views
0

我實現我的web應用程序使用IndexedDB的儲存器(Chrome只),存儲記錄沿清理IndexedDB的對象存儲

{raw:"string",id:"string",dayUsed:number} 

其中

  1. ID的行序列 - 是標識對象的唯一字符串(用作索引DB對象存儲鍵
  2. dayUsed - 記錄該對象使用的最後一天(自日期(2013,11,10))

隨着應用程序的使用,該商店中的記錄數量將增加。我想保持標籤上有什麼這個對象店裏發生的事情,以修剪它,當

  1. 記錄在存儲號碼exceeeds預設的閾值
  2. 有在店裏用dayUsed值的記錄超過預設的閾值

我也跟着教程MDN(其中順便說一句有誤傳的一些小位)和實施的大部分我所需要的,但記錄修剪位似乎仍不清楚。

IndexedDB提供的核心方法非常有限。例如,即使獲得記錄總數也不僅僅是發佈單行數據。在應用程序運行時,我可以不時運行一個清理程序,該程序遍歷整個對象存儲並使用dayUsed breah刪除條目。但是,鑑於我的對象庫可能有幾百個條目,這可能是一個冗長的操作,會降低應用程序的速度。那麼在哪裏?培養一個webworker來完成這項工作?

這看起來比我設想的更復雜。對我的問題 - 是否有高級包裝提供SQL接口到IndexedDB商店,可以處理所有這些任務呢?

回答

0

看看我的圖書館https://bitbucket.org/ytkyaw/ydn-db/wiki/Home

關鍵是你只是用鑰匙來算日常使用withiut存儲任何東西。

+0

謝謝。最後,我最終編寫了自己的代碼來完成這項工作。然而,這是你的答案,讓我走上正軌,所以我接受它。 – DroidOS

1

www.dexie.org

簡約IndexedDB的庫。

+0

我寫了自己的代碼來處理所有IndexDB的東西。儘管如此,dexie看起來很有趣,所以+1引起了我的注意。 – DroidOS