code: func (c *Cache) maybeStoreItem(ctx context.Context, key string, item *itemWithExp, now time.Time) error {
  	g := caching.GlobalCache(ctx, c.GlobalNamespace)
  	if g == nil {
  		return nil
  	}
  
  	blob, err := c.serializeItem(item)
  	if err != nil {
  		return err
  	}
  
  	if err = g.Set(ctx, key, blob, item.expiration(now)); err != nil {
  		logging.WithError(err).Errorf(ctx, "Failed to store item %q in the global cache", key)
  	}
  	return nil
  }
docs: // maybeStoreItem puts the item in the global cache, if possible.
  //
  // It returns an error only if the serialization fails. It generally means the
  // serialization code is buggy and should be adjusted.
  //
  // Global cache errors are logged and ignored.