A Java client for TiKV. It is supposed to:
- Communicate via gRPC
- Talk to Placement Driver searching for a region
- Talk to TiKV for reading/writing data
TiKV Java Client is designed to communicate with PD and TiKV, please run PD and TiKV in advance.
Build Java client from source file:
mvn clean install -Dmaven.test.skip=true
Add maven dependency to pom.xml
:
<dependency>
<groupId>org.tikv</groupId>
<artifactId>tikv-client-java</artifactId>
<version>3.3.0</version>
</dependency>
Create a transactional KVClient
and communicates with TiKV:
import org.tikv.common.TiConfiguration;
import org.tikv.common.TiSession;
import org.tikv.txn.KVClient;
public class Main {
public static void main(String[] args) throws Exception {
TiConfiguration conf = TiConfiguration.createDefault(YOUR_PD_ADDRESSES);
TiSession session = TiSession.create(conf);
KVClient client = session.createKVClient();
}
}
Or create a RawKVClient
if you don't need the transaction semantic:
import org.tikv.common.TiConfiguration;
import org.tikv.common.TiSession;
import org.tikv.raw.RawKVClient;
public class Main {
public static void main(String[] args) throws Exception {
TiConfiguration conf = TiConfiguration.createRawDefault(YOUR_PD_ADDRESSES);
TiSession session = TiSession.create(conf);
RawKVClient client = session.createRawClient();
}
}
Find more demo in TiKV Java Client User Documents
See Java Client Documents for references about how to config and monitor Java Client.
A Maven site is also available. It includes:
- User forum: AskTUG
- Contributor forum: https://internals.tidb.io/
See Contribution Guide for references about how to contribute to this project.
Apache 2.0 license. See the LICENSE file for details.