RocksJavaAPI 是否支持事务?我看到 JAR 中有一个 Transaction DB 类。我无法对事务 Db 类进行开始事务。
RocksDB db = TransactionDB.open(options, "/Users/jagannathan/Desktop/My Files/db/rocksdb")
我无法执行 db.beginTransaction,因为此类方法不可用。任何有关如何在 Java 中完成的指针都值得赞赏。
RocksJavaAPI 是否支持事务?我看到 JAR 中有一个 Transaction DB 类。我无法对事务 Db 类进行开始事务。
RocksDB db = TransactionDB.open(options, "/Users/jagannathan/Desktop/My Files/db/rocksdb")
我无法执行 db.beginTransaction,因为此类方法不可用。任何有关如何在 Java 中完成的指针都值得赞赏。
您需要使用不同的打开方法。您当前使用基类 ( 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 一样使用此事务,您可以在其中放置、删除等,并在完成后提交。