RocksDb Java API 支持交易

RocksDb Java API support for Transactions

RocksJavaAPI是否支持交易?我看到 JAR 中存在一个事务数据库 class。我无法在交易 Db class.

上开始交易
RocksDB db = TransactionDB.open(options, "/Users/jagannathan/Desktop/My Files/db/rocksdb")

我做不到 db.beginTransaction 因为没有这样的方法。任何关于如何在 Java 中完成的指示都将受到赞赏。

您需要使用不同的打开方式。您当前使用的是基class(RocksDB).

的open方法

使用其中之一:

public static TransactionDB open(Options options,
                 TransactionDBOptions transactionDbOptions,
                 java.lang.String path)

public static TransactionDB open(DBOptions dbOptions,
                 TransactionDBOptions transactionDbOptions,
                 java.lang.String path,
                 java.util.List<ColumnFamilyDescriptor> columnFamilyDescriptors,
                 java.util.List<ColumnFamilyHandle> columnFamilyHandles)

得到一个TransactionDB object. This object you can then use to call #beginTransaction, which will return an Transaction对象。然后可以像 RocksDB 一样使用此事务,您可以在其中放置、删除等并在完成后提交。