in shardedlru.go [128:138]
func (lru *ShardedLRU[K, V]) AddWithLifetime(key K, value V,
lifetime time.Duration) (evicted bool) {
hash := lru.hash(key)
shard := (hash >> 16) & lru.mask
lru.mus[shard].Lock()
evicted = lru.lrus[shard].addWithLifetime(hash, key, value, lifetime)
lru.mus[shard].Unlock()
return
}