code: func (s *shard) Evict() {
  	key := -1
  
  	s.RLock()
  	for k := range s.items {
  		key = int(k)
  		break
  	}
  	s.RUnlock()
  
  	if key == -1 {
  		// empty cache
  		return
  	}
  
  	// If this item is gone between the RUnlock and Lock race we don't care.
  	s.Remove(uint32(key))
  }
docs: // Evict removes a random element from the cache.