JDBM2磁盘的K/V存储

联合创作 · 2023-09-29

JDBM2 提供了 HashMap 和 TreeMap 的磁盘存储功能,简单易用,用于持久化数据。特别适合用于嵌入到其他应用程序中。示例代码:

/** create (or open existing) database */
String fileName = "helloWorld";
RecordManager recMan = RecordManagerFactory.createRecordManager(fileName);

/** Creates TreeMap which stores data in database.  
 *  Constructor method takes recordName (something like SQL table name)*/
String recordName = "firstTreeMap";
PrimaryTreeMap treeMap = recMan.treeMap(recordName); 

/** add some stuff to map*/
treeMap.put(1, "One");
treeMap.put(2, "Two");
treeMap.put(3, "Three");

System.out.println(treeMap.keySet());
// > [1, 2, 3]

/** Map changes are not persisted yet, commit them (save to disk) */
recMan.commit();

System.out.println(treeMap.keySet());
// > [1, 2, 3]

/** Delete one record. Changes are not commited yet, but are visible. */
treeMap.remove(2);

System.out.println(treeMap.keySet());
// > [1, 3]

/** Did not like change. Roolback to last commit (undo record remove). */
recMan.rollback();

/** Key 2 was recovered */
System.out.println(treeMap.keySet());
// > [1, 2, 3]

/** close record manager */
recMan.close();
浏览 4
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报