code: func NewCache(maxSize uint64) *Cache {
  	c := &Cache{
  		maxSize:      maxSize,
  		store:        emptyStore{},
  		lastSnapshot: time.Now(),
  		tracker:      newCacheTracker(newCacheMetrics(nil), nil),
  	}
  	c.initialize.Store(&sync.Once{})
  	return c
  }
docs: // NewCache returns an instance of a cache which will use a maximum of maxSize bytes of memory.
  // Only used for engine caches, never for snapshots.