code: func (c *Cache) Peek(ctx context.Context, key interface{}) (interface{}, bool) {
  	now := clock.Now(ctx)
  
  	c.lock.RLock()
  	defer c.lock.RUnlock()
  
  	if e := c.cache[key]; e != nil {
  		ent := e.Value.(*cacheEntry)
  		if !c.isEntryExpired(now, ent) {
  			return ent.v, true
  		}
  	}
  	return nil, false
  }
docs: // Peek fetches the element associated with the supplied key without updating
  // the element's recently-used standing.
  //
  // Peek uses the cache read lock.