diff --git a/internal/db/cache.go b/internal/db/cache.go index 67d82b2..bf17dc3 100644 --- a/internal/db/cache.go +++ b/internal/db/cache.go @@ -1,11 +1,15 @@ package db -import "github.com/zu1k/nali/pkg/dbif" +import ( + "sync" + + "github.com/zu1k/nali/pkg/dbif" +) var ( dbNameCache = make(map[string]dbif.DB) dbTypeCache = make(map[dbif.QueryType]dbif.DB) - queryCache = make(map[string]string) + queryCache = sync.Map{} ) var ( diff --git a/internal/db/db.go b/internal/db/db.go index 53a2335..6d75a6f 100644 --- a/internal/db/db.go +++ b/internal/db/db.go @@ -70,14 +70,14 @@ func GetDB(typ dbif.QueryType) (db dbif.DB) { } func Find(typ dbif.QueryType, query string) string { - if result, found := queryCache[query]; found { - return result + if result, found := queryCache.Load(query); found { + return result.(string) } result, err := GetDB(typ).Find(query) if err != nil { return "" } r := strings.Trim(result.String(), " ") - queryCache[query] = r + queryCache.Store(query, r) return r }