有沒有一種簡單的方法讓文件支持Map?文件備份的Java地圖
定期更新地圖的內容,其中一些被刪除,另外一些被添加。爲了保持地圖中的數據安全,需要持久性。我知道一個數據庫將是理想的,但可悲的是由於數據庫無法使用的限制。
我曾嘗試:
編寫地圖每次被更新時間到文件的全部內容。這很有效,但顯然有一個缺點,即整個文件每次都會被重寫,地圖的內容預計會從幾個條目到2000的任何地方。還有一些併發問題(即寫亂序導致數據丟失)。
使用RandomAccessFile並保持指向每個文件的起始字節的指針,以便可以使用seek()查找每個條目。再次,這有一個類似的問題,改變一個條目將涉及更新後的所有引用。
理想情況下,解決方案將涉及某種緩存,這樣只有最近訪問的條目纔會保留在內存中。
有這樣的事嗎?還是可以通過第三方的jar?有人建議Oracle Coherence,但我似乎無法找到如何實現這一點,而且這看起來有點像使用大錘來破解堅果。
也許你可以用[H2 Database](http://h2database.com)來代替?它是一個純Java數據庫。它可以駐留在內存中,也可以寫入磁盤到一個文件中。 –