0

RocksJavaAPI 是否支持事务?我看到 JAR 中有一个 Transaction DB 类。我无法对事务 Db 类进行开始事务。

RocksDB db = TransactionDB.open(options, "/Users/jagannathan/Desktop/My Files/db/rocksdb")

我无法执行 db.beginTransaction,因为此类方法不可用。任何有关如何在 Java 中完成的指针都值得赞赏。

4

1 回答 1

0

您需要使用不同的打开方法。您当前使用基类 ( 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对象。然后,您可以使用该对象来调用#beginTransaction,这将返回一个Transaction对象。然后可以像 RocksDB 一样使用此事务,您可以在其中放置、删除等,并在完成后提交。

于 2021-06-23T21:00:46.133 回答