code: func (c *Client) Put(key string, data []byte, opts ...datasync.PutOption) (err error) {
  	boltLogger.Debugf("Put: %q (len=%d)", key, len(data))
  
  	prevVal, err := c.safeUpdate(&update{
  		key:   []byte(key),
  		value: data,
  	})
  	if err != nil {
  		return err
  	}
  
  	c.bumpWatchers(&watchEvent{
  		Key:       key,
  		Value:     data,
  		PrevValue: prevVal,
  		Type:      datasync.Put,
  	})
  
  	return nil
  }
docs: // Put stores given data for the key