code: func (c *RawKVClient) Get(key []byte) ([]byte, error) {
  	start := time.Now()
  	defer func() { tikvRawkvCmdHistogramWithGet.Observe(time.Since(start).Seconds()) }()
  
  	req := &tikvrpc.Request{
  		Type: tikvrpc.CmdRawGet,
  		RawGet: &kvrpcpb.RawGetRequest{
  			Key: key,
  		},
  	}
  	resp, _, err := c.sendReq(key, req, false)
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  	cmdResp := resp.RawGet
  	if cmdResp == nil {
  		return nil, errors.Trace(ErrBodyMissing)
  	}
  	if cmdResp.GetError() != "" {
  		return nil, errors.New(cmdResp.GetError())
  	}
  	if len(cmdResp.Value) == 0 {
  		return nil, nil
  	}
  	return cmdResp.Value, nil
  }
docs: // Get queries value with the key. When the key does not exist, it returns `nil, nil`.