code: func (txn *tikvTxn) Get(k kv.Key) ([]byte, error) {
  	tikvTxnCmdCountWithGet.Inc()
  	start := time.Now()
  	defer func() { tikvTxnCmdHistogramWithGet.Observe(time.Since(start).Seconds()) }()
  
  	ret, err := txn.us.Get(k)
  	if kv.IsErrNotFound(err) {
  		return nil, err
  	}
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  
  	err = txn.store.CheckVisibility(txn.startTS)
  	if err != nil {
  		return nil, errors.Trace(err)
  	}
  
  	return ret, nil
  }
docs: // Get implements transaction interface.