问题描述
如何使用 TiKV 和 java-client 进行范围查询?
假设我有这个模型:
public class Hub implements Serializable {
private String name;
private List<Schedule> schedules;
}
和
import java.time.LocalTime;
public class Schedule implements Serializable {
private String day;
private LocalTime opens;
private LocalTime closes;
}
new Schedule().builder()
.day("Monday")
.opens(LocalTime.parse("09:00")
.close(LocalTime.parse("17:00").build();
- 如何将
Hub
模型存储到 TiKV 中 - 此外,在此示例中,您如何对
schedules
执行范围查询?
解决方法
你可以使用client-java-client,见https://github.com/tikv/client-java
- 如何将 Hub 模型存储到 TiKV 中
如果不使用 TiDB 直接使用 TiKV,可以将 Hub 编码成 ByteString,然后将 ByteString 存储到 TiKV 中。
https://github.com/tikv/client-java/blob/v3.0.0/src/main/java/org/tikv/raw/RawKVClient.java#L82
- 此外,您如何对本示例中的时间表进行范围查询?
您可以使用 scan API 进行范围查询
https://github.com/tikv/client-java/blob/v3.0.0/src/main/java/org/tikv/raw/RawKVClient.java#L152
如果您有任何问题或要求,请在 https://github.com/tikv/client-java/issues 上提交问题。