func DefaultTiKVClient() TiKVClient {
	return TiKVClient{
		GrpcConnectionCount:  4,
		GrpcKeepAliveTime:    10,
		GrpcKeepAliveTimeout: 3,
		GrpcCompressionType:  "none",
		CommitTimeout:        "41s",
		AsyncCommit: AsyncCommit{
			KeysLimit:         256,
			TotalKeySizeLimit: 4 * 1024,  
			SafeWindow:        2 * time.Second,
			AllowedClockDrift: 500 * time.Millisecond,
		},
		MaxBatchSize:      128,
		OverloadThreshold: 200,
		MaxBatchWaitTime:  0,
		BatchWaitSize:     8,
		EnableChunkRPC: true,
		RegionCacheTTL:       600,
		StoreLimit:           0,
		StoreLivenessTimeout: DefStoreLivenessTimeout,
		TTLRefreshedTxnSize: 32 * 1024 * 1024,
		CoprCache: CoprocessorCache{
			CapacityMB:            1000,
			AdmissionMaxRanges:    500,
			AdmissionMaxResultMB:  10,
			AdmissionMinProcessMs: 5,
		},
		ResolveLockLiteThreshold: 16,
	}
}
DefaultTiKVClient returns default config for TiKVClient.
package config
import (
	"fmt"
	"time"
	"google.golang.org/grpc/encoding/gzip"
)
const (
	DefStoreLivenessTimeout = "1s"
)
type TiKVClient struct {
	GrpcConnectionCount uint `toml:"grpc-connection-count" json:"grpc-connection-count"`
	GrpcKeepAliveTime uint `toml:"grpc-keepalive-time" json:"grpc-keepalive-time"`
	GrpcKeepAliveTimeout uint `toml:"grpc-keepalive-timeout" json:"grpc-keepalive-timeout"`
	GrpcCompressionType string `toml:"grpc-compression-type" json:"grpc-compression-type"`
	CommitTimeout string      `toml:"commit-timeout" json:"commit-timeout"`
	AsyncCommit   AsyncCommit `toml:"async-commit" json:"async-commit"`
	MaxBatchSize uint `toml:"max-batch-size" json:"max-batch-size"`
	OverloadThreshold uint `toml:"overload-threshold" json:"overload-threshold"`
	MaxBatchWaitTime time.Duration `toml:"max-batch-wait-time" json:"max-batch-wait-time"`
	BatchWaitSize uint `toml:"batch-wait-size" json:"batch-wait-size"`
	EnableChunkRPC bool `toml:"enable-chunk-rpc" json:"enable-chunk-rpc"`
	RegionCacheTTL uint `toml:"region-cache-ttl" json:"region-cache-ttl"`
	StoreLimit int64 `toml:"store-limit" json:"store-limit"`
	StoreLivenessTimeout string           `toml:"store-liveness-timeout" json:"store-liveness-timeout"`
	CoprCache            CoprocessorCache `toml:"copr-cache" json:"copr-cache"`
	TTLRefreshedTxnSize      int64  `toml:"ttl-refreshed-txn-size" json:"ttl-refreshed-txn-size"`
	ResolveLockLiteThreshold uint64 `toml:"resolve-lock-lite-threshold" json:"resolve-lock-lite-threshold"`
}
type AsyncCommit struct {
	KeysLimit uint `toml:"keys-limit" json:"keys-limit"`
	TotalKeySizeLimit uint64 `toml:"total-key-size-limit" json:"total-key-size-limit"`
	SafeWindow time.Duration `toml:"safe-window" json:"safe-window"`
	AllowedClockDrift time.Duration `toml:"allowed-clock-drift" json:"allowed-clock-drift"`
}
type CoprocessorCache struct {
	CapacityMB float64 `toml:"capacity-mb" json:"capacity-mb"`
	AdmissionMaxRanges uint64 `toml:"admission-max-ranges" json:"-"`
	AdmissionMaxResultMB float64 `toml:"admission-max-result-mb" json:"-"`
	AdmissionMinProcessMs uint64 `toml:"admission-min-process-ms" json:"-"`
}