cache: ensure new expiration is persisted

Signed-off-by: Hidde Beydals <hidde@hhh.computer>
(cherry picked from commit 7cc8b94143)
This commit is contained in:
Hidde Beydals 2023-08-01 17:22:14 +02:00 committed by github-actions[bot]
parent 9e08cb2ab3
commit ee9e205272
1 changed files with 4 additions and 5 deletions

View File

@ -132,7 +132,7 @@ func (c *cache) Delete(key string) {
}
// Clear all items from the cache.
// This reallocate the inderlying array holding the items,
// This reallocates the underlying array holding the items,
// so that the memory used by the items is reclaimed.
func (c *cache) Clear() {
c.mu.Lock()
@ -163,11 +163,10 @@ func (c *cache) HasExpired(key string) bool {
func (c *cache) SetExpiration(key string, expiration time.Duration) {
c.mu.Lock()
item, ok := c.Items[key]
if !ok {
c.mu.Unlock()
return
if ok {
item.Expiration = time.Now().Add(expiration).UnixNano()
c.Items[key] = item
}
item.Expiration = time.Now().Add(expiration).UnixNano()
c.mu.Unlock()
}