mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 07:50:25 +08:00 
			
		
		
		
	修复ttlcache可能缺失回收数据的问题
This commit is contained in:
		@@ -55,17 +55,19 @@ func (this *List) Add(itemId uint64, expiresAt int64) {
 | 
			
		||||
		if oldExpiresAt == expiresAt {
 | 
			
		||||
			return
 | 
			
		||||
		}
 | 
			
		||||
		delete(this.expireMap, oldExpiresAt)
 | 
			
		||||
		delete(this.expireMap[oldExpiresAt], itemId)
 | 
			
		||||
		if len(this.expireMap[oldExpiresAt]) == 0 {
 | 
			
		||||
			delete(this.expireMap, oldExpiresAt)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	expireItemMap, ok := this.expireMap[expiresAt]
 | 
			
		||||
	if ok {
 | 
			
		||||
		expireItemMap[itemId] = zero.New()
 | 
			
		||||
	} else {
 | 
			
		||||
		expireItemMap = ItemMap{
 | 
			
		||||
		this.expireMap[expiresAt] = ItemMap{
 | 
			
		||||
			itemId: zero.New(),
 | 
			
		||||
		}
 | 
			
		||||
		this.expireMap[expiresAt] = expireItemMap
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.itemsMap[itemId] = expiresAt
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user