我想在Java中仅创建内存中的rockDB的可能性

时间:2019-05-28 16:14:34

标签: java rocksdb-java

我有rocksDB java实现,我想只在内存中存储数据而不在硬盘上写数据的可能性。我想我可以在创建rocksDB时使用选项来做到这一点。我试图使这里的内容相同:https://github.com/facebook/rocksdb/wiki/RocksDB-Tuning-Guide在“具有完整功能的内存数据库”部分中,但是我不能完全相同,因为这与c ++实现有关,而Java要么没有某些属性,要么它们是不可编辑。

Options options = new Options()
options.setCreateIfMissing(true);
BlockBasedTableConfig tableOptions = new BlockBasedTableConfig();
tableOptions.setNoBlockCache(true);
tableOptions.setBlockRestartInterval(4);
options.setTableFormatConfig(tableOptions);
options.setCompressionType(CompressionType.NO_COMPRESSION);
options.setMaxOpenFiles(-1);
try {
    final Path dbPath = getDbPath();
    if (!Files.isSymbolicLink(dbPath.getParent())) {
        Files.createDirectories(dbPath.getParent());
    }
    try {
        database = org.rocksdb.RocksDB.open(options, dbPath.toString());
    } catch (RocksDBException e) {
        logger.error(e.getMessage(), e);
    }

    alive = true;

} catch (IOException ioe) {
    logger.error(ioe.getMessage(), ioe);
}

0 个答案:

没有答案