2011-07-01 43 views
1

是否存在部分存在於磁盤上的散列式數據結構的現有(Python)實現?或者,可以根據某些標準(如上次訪問時間)將特定的密鑰保存到某個輔助存儲中?例如:「密鑰K處的數據未在M毫秒內訪問;將其序列化爲永久性存儲(磁盤?),並將其刪除」。部分由文件系統支持的數據結構?

我被提到this,但我不確定我能消化它。

編輯:

我RECD兩個優秀的答案(源碼; GDB)米;爲了確定一個勝利者,我必須等待,直到我測試了兩者。謝謝!!

回答

2

轉到SQLITE。你將面臨的一個大問題是併發/文件損壞等問題,SQLite使得這些事務非常容易避免,因爲它提供了事務完整性。只需使用模式定義一個表(主鍵字符串鍵,字符串值)。 SQLite非常快速,特別是如果你把一堆寫入事務。

GDBM恕我直言,根據你想要做什麼,也有許可證問題,而SQLite是公共領域。

1

聽起來像是你正在尋找gdbm

的GDBM模塊提供了與GNU DBM庫的接口。 gdbm對象的行爲類似於映射(字典),除了鍵和值總​​是字符串。

這基本上是磁盤上的字典。根據您的使用情況,您可能需要做一些序列化。

+0

(啓用'f'快速模式) – dkamins