mirror of https://github.com/rjbasitali/go-cache
19 lines
340 B
Go
19 lines
340 B
Go
package gocache
|
|
|
|
import "time"
|
|
|
|
func (cache *myCache) deleteExpired() {
|
|
cache.mutex.Lock()
|
|
defer cache.mutex.Unlock()
|
|
|
|
now := time.Now().UnixNano()
|
|
for k, v := range cache.items {
|
|
if cache.decisionFunc != nil && !cache.decisionFunc(v) {
|
|
continue
|
|
}
|
|
if v.expiration > 0 && now > v.expiration {
|
|
delete(cache.items, k)
|
|
}
|
|
}
|
|
}
|