code: func (c *Cache) Pop(key string) (p *points.Points, exists bool) {
  	// Try to get shard.
  	shard := c.GetShard(key)
  	shard.Lock()
  	p, exists = shard.items[key]
  	delete(shard.items, key)
  	shard.Unlock()
  
  	if exists {
  		atomic.AddInt32(&c.stat.size, -int32(len(p.Data)))
  	}
  
  	return p, exists
  }
docs: // Pop removes an element from the map and returns it