diff options
author | 2023-07-31 11:25:29 +0100 | |
---|---|---|
committer | 2023-07-31 11:25:29 +0100 | |
commit | ed2477ebea4c3ceec5949821f4950db9669a4a15 (patch) | |
tree | 1038d7abdfc787ddfc1febb326fd38775b189b85 /vendor/codeberg.org/gruf/go-cache | |
parent | [bugfix/frontend] Decode URI component domain before showing on frontend (#2043) (diff) | |
download | gotosocial-ed2477ebea4c3ceec5949821f4950db9669a4a15.tar.xz |
[performance] cache follow, follow request and block ID lists (#2027)
Diffstat (limited to 'vendor/codeberg.org/gruf/go-cache')
-rw-r--r-- | vendor/codeberg.org/gruf/go-cache/v3/ttl/ttl.go | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/vendor/codeberg.org/gruf/go-cache/v3/ttl/ttl.go b/vendor/codeberg.org/gruf/go-cache/v3/ttl/ttl.go index 623a19910..af108e336 100644 --- a/vendor/codeberg.org/gruf/go-cache/v3/ttl/ttl.go +++ b/vendor/codeberg.org/gruf/go-cache/v3/ttl/ttl.go @@ -479,23 +479,23 @@ func (c *Cache[K, V]) InvalidateAll(keys ...K) (ok bool) { kvs = make([]kv[K, V], 0, len(keys)) c.locked(func() { - for _, key := range keys { + for x := range keys { var item *Entry[K, V] // Check for item in cache - item, ok = c.Cache.Get(key) + item, ok = c.Cache.Get(keys[x]) if !ok { - return + continue } // Append this old value to slice kvs = append(kvs, kv[K, V]{ - K: key, + K: keys[x], V: item.Value, }) // Remove from cache map - _ = c.Cache.Delete(key) + _ = c.Cache.Delete(keys[x]) // Free entry c.free(item) @@ -553,6 +553,7 @@ func (c *Cache[K, V]) Cap() (l int) { return } +// locked performs given function within mutex lock (NOTE: UNLOCK IS NOT DEFERRED). func (c *Cache[K, V]) locked(fn func()) { c.Lock() fn() |