tikv/client-java

TiKV Java Client

116

stars

294

commits

Java

primary language

Sep 9, 2026

updated

tikv.github.io/client-java/
client
cncf
grpc
java
tikv

README

Maven Central Slack codecov

TiKV JAVA Client

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

Quick Start

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

Documentation

See Java Client Documents for references about how to config and monitor Java Client.

A Maven site is also available. It includes:

  1. API reference
  2. Spotbugs Reports
  3. Source Code Xref

Community

Forum

Contribute to TiKV Java Client

See Contribution Guide for references about how to contribute to this project.

License

Apache 2.0 license. See the LICENSE file for details.

Contributors

(top 30 of 36)

birdstorm

88 commits

marsishandsome

61 commits

iosmanthus

43 commits

zz-jason

17 commits

tikv/client-java

TiKV Java Client

116

stars

294

commits

Java

primary language

Sep 9, 2026

updated

tikv.github.io/client-java/
client
cncf
grpc
java
tikv

README

Maven Central Slack codecov

TiKV JAVA Client

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

Quick Start

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

Documentation

See Java Client Documents for references about how to config and monitor Java Client.

A Maven site is also available. It includes:

  1. API reference
  2. Spotbugs Reports
  3. Source Code Xref

Community

Forum

Contribute to TiKV Java Client

See Contribution Guide for references about how to contribute to this project.

License

Apache 2.0 license. See the LICENSE file for details.

Contributors

(top 30 of 36)

birdstorm

88 commits

marsishandsome

61 commits

iosmanthus

43 commits

zz-jason

17 commits

Languages

Java

95.3%

ANTLR

4.5%