code: func (sc *StorageCache) Get(c context.Context, key storage.CacheKey) ([]byte, bool) {
  	itm, ok := storageCache.LRU(c).Get(c, key)
  	if !ok {
  		return nil, false
  	}
  
  	data := itm.([]byte)
  	if len(data) == 0 {
  		// No cache item (missing or invalid/empty).
  		return nil, false
  	}
  
  	isCompressed, data := data[0], data[1:]
  	if isCompressed != 0x00 {
  		// This entry is compressed.
  		zr, err := zlib.NewReader(bytes.NewReader(data))
  		if err != nil {
  			log.Fields{
  				log.ErrorKey: err,
  				"key":        key,
  			}.Warningf(c, "Failed to create ZLIB reader.")
  			return nil, false
  		}
  		defer zr.Close()
  
  		if data, err = ioutil.ReadAll(zr); err != nil {
  			log.Fields{
  				log.ErrorKey: err,
  				"key":        key,
  			}.Warningf(c, "Failed to decompress cached item.")
  			return nil, false
  		}
  	}
  	return data, true
  }
docs: // Get implements storage.Cache.