// newLeaseHolderCache creates a new leaseHolderCache of the given size. // The underlying cache internally uses a hash map, so lookups // are cheap. func newLeaseHolderCache(size int) *leaseHolderCache { return &leaseHolderCache{ cache: cache.NewUnorderedCache(cache.Config{ Policy: cache.CacheLRU, ShouldEvict: func(s int, key, value interface{}) bool { return s > size }, }), } }
// NewRegexpCache creates a new RegexpCache of the given size. // The underlying cache internally uses a hash map, so lookups // are cheap. func NewRegexpCache(size int) *RegexpCache { return &RegexpCache{ cache: cache.NewUnorderedCache(cache.Config{ Policy: cache.CacheLRU, ShouldEvict: func(s int, key, value interface{}) bool { return s > size }, }), } }