From db9cf3bf2d5939fbd219d33571eb90d30a1bb48b Mon Sep 17 00:00:00 2001 From: igoogolx Date: Thu, 19 Oct 2023 10:37:51 +0800 Subject: [PATCH] feat(distribution): reset cache before starting --- internal/cfg/distribution/cache.go | 5 +++++ internal/cfg/distribution/distribution.go | 1 + 2 files changed, 6 insertions(+) diff --git a/internal/cfg/distribution/cache.go b/internal/cfg/distribution/cache.go index 5c48d59..b64665f 100644 --- a/internal/cfg/distribution/cache.go +++ b/internal/cfg/distribution/cache.go @@ -8,6 +8,11 @@ import ( var dnsDomainCache, _ = lru.New(4 * 1024) var dnsRuleCache, _ = lru.New(4 * 1024) +func ResetCache() { + dnsDomainCache.Purge() + dnsRuleCache.Purge() +} + func GetCachedDnsItem(ip string) (string, constants.DnsType, bool) { rawCachedDomain, ok := dnsDomainCache.Get(ip) if !ok { diff --git a/internal/cfg/distribution/distribution.go b/internal/cfg/distribution/distribution.go index 92372ef..b9cc443 100644 --- a/internal/cfg/distribution/distribution.go +++ b/internal/cfg/distribution/distribution.go @@ -104,6 +104,7 @@ func New( tunInterfaceName string, defaultInterfaceName string, ) (Config, error) { + ResetCache() rEngine, err := ruleEngine.New(ruleId, rules) if err != nil { return Config{}, err