code: func (db *DB) MSet(args ...KVPair) error {
  	if len(args) == 0 {
  		return nil
  	}
  
  	t := db.kvBatch
  
  	var err error
  	var key []byte
  	var value []byte
  
  	t.Lock()
  	defer t.Unlock()
  
  	for i := 0; i < len(args); i++ {
  		if err := checkKeySize(args[i].Key); err != nil {
  			return err
  		} else if err := checkValueSize(args[i].Value); err != nil {
  			return err
  		}
  
  		key = db.encodeKVKey(args[i].Key)
  
  		value = args[i].Value
  
  		t.Put(key, value)
  
  	}
  
  	err = t.Commit()
  	return err
  }
docs: // MSet sets multi data.