對於我當前的項目,我需要在磁盤上存儲一個小數據庫,我讀過一次程序運行後寫入一次。Perl DBM與可存儲
我已經研究過perls DBM的功能,並且從我的理解中可以看出,它只提供一個散列,存儲在磁盤上,每次讀寫直接寫入磁盤。
我的問題是:難道我不能簡單地使用Storable
或任何相關模塊來實現相同(持久散列),文件I/O開銷少得多? (該哈希值將永遠是大,不適合到內存中容易)
問候 尼克
對於我當前的項目,我需要在磁盤上存儲一個小數據庫,我讀過一次程序運行後寫入一次。Perl DBM與可存儲
我已經研究過perls DBM的功能,並且從我的理解中可以看出,它只提供一個散列,存儲在磁盤上,每次讀寫直接寫入磁盤。
我的問題是:難道我不能簡單地使用Storable
或任何相關模塊來實現相同(持久散列),文件I/O開銷少得多? (該哈希值將永遠是大,不適合到內存中容易)
問候 尼克
SQLite正在迅速成爲一個簡單的磁盤數據庫的標準。在Perl中,你可以使用DBD::SQLite,你很好。
由於以前的答案並沒有真正回答您的實際問題,「是的,你可以」 ......有以下注意事項:
我經常在只有一個任務訪問文件時使用Dumper,並且如果我覺得合適,它會給我一種讀取/修改內容的方法。
你指的是['DBM :: Deep'](https://metacpan.org/module/DBM::Deep)? – Zaid
我正在使用'dbmopen()'函數... – Nick
如果您不是指DBM :: Deep,那麼您應該是。 –