2

我使用mapdb如下

val mycache = DBMaker.newFileDB(new File(("/data/tmp/cache.db")))
    .transactionDisable()
    .make().getHashSet("")

那么当我这样做的时候

mycache.put(k1, v1)
assertTrue(mycache.get(k1), v1) // all is fine

但是,如果我重新启动我的服务器,我确实看到我在磁盘上有 cache.db 但是读取时它将有一个空映射

所以

mycache.get(k1) // is null after restart

从文件重新启动后,如何让它重新读取我的地图?

4

1 回答 1

5

您必须在 JVM 关闭之前关闭数据库。最简单的是添加.closeOnJVMShutdown()选项

于 2014-03-09T09:43:27.507 回答