MapDB持久化存儲的 Map
MapDB是一個(gè)快速、易用的嵌入式Java數(shù)據(jù)庫引擎,它提供了基于磁盤或者堆外(off-heap允許Java直接操作內(nèi)存空間, 類似于C的malloc和free)存儲的并發(fā)的Maps、Sets、Queues。MapDB的前身是JDBM,已經(jīng)有15年的歷史。MapDB支持ACID事務(wù)、MVCC隔離,它的jar包只有200KB,且無其它依賴,非常輕量。MapDB目前的版本是1.0.5,相對來說功能已經(jīng)穩(wěn)定,并有全職的開發(fā)者支持開發(fā)。
示例代碼:
import org.mapdb.*;
// configure and open database using builder pattern.
// all options are available with code auto-completion.
DB db = DBMaker.newFileDB(new File("testdb"))
.closeOnJvmShutdown()
.encryptionEnable("password")
.make();
// open existing an collection (or create new)
ConcurrentNavigableMapmap = db.getTreeMap("collectionName");
map.put(1, "one");
map.put(2, "two");
// map.keySet() is now [1,2]
db.commit(); //persist changes into disk
map.put(3, "three");
// map.keySet() is now [1,2,3]
db.rollback(); //revert recent changes
// map.keySet() is now [1,2]
db.close();評論
圖片
表情
