diff options
-rw-r--r-- | cache/cache.go | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/cache/cache.go b/cache/cache.go index 3b650e9..4a51963 100644 --- a/cache/cache.go +++ b/cache/cache.go @@ -164,11 +164,12 @@ func (c *Cache) Reset() { func (c *Cache) prefetch() bool { return c.client != nil } func (c *Cache) refreshExpired(interval time.Duration) { + // TODO: Reduce lock contention for large caches. Consider sync.Map c.mu.Lock() defer c.mu.Unlock() evicted := make(map[uint64]bool) for k, v := range c.values { - // Value will expiry before the next interval. Refresh now + // Value will expire before the next interval. Refresh now if c.isExpiredAfter(interval, v) { q := v.msg.Question[0] msg := dns.Msg{} |