code: func (db *BytesConnectionRedis) Put(key string, data []byte, opts ...datasync.PutOption) error {
  	if db.closed {
  		return fmt.Errorf("Put(%s) called on a closed connection", key)
  	}
  	db.Debugf("Put(%s)", key)
  
  	var ttl time.Duration
  	for _, o := range opts {
  		if withTTL, ok := o.(*datasync.WithTTLOpt); ok && withTTL.TTL > 0 {
  			ttl = withTTL.TTL
  		}
  	}
  	err := db.client.Set(key, data, ttl).Err()
  	if err != nil {
  		return fmt.Errorf("Set(%s) failed: %s", key, err)
  	}
  	return nil
  }
docs: // Put sets the key/value in Redis data store. Replaces value if the key already exists.