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 {
 | 
							if oldExpiresAt == expiresAt {
 | 
				
			||||||
			return
 | 
								return
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							delete(this.expireMap[oldExpiresAt], itemId)
 | 
				
			||||||
 | 
							if len(this.expireMap[oldExpiresAt]) == 0 {
 | 
				
			||||||
			delete(this.expireMap, oldExpiresAt)
 | 
								delete(this.expireMap, oldExpiresAt)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	expireItemMap, ok := this.expireMap[expiresAt]
 | 
						expireItemMap, ok := this.expireMap[expiresAt]
 | 
				
			||||||
	if ok {
 | 
						if ok {
 | 
				
			||||||
		expireItemMap[itemId] = zero.New()
 | 
							expireItemMap[itemId] = zero.New()
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		expireItemMap = ItemMap{
 | 
							this.expireMap[expiresAt] = ItemMap{
 | 
				
			||||||
			itemId: zero.New(),
 | 
								itemId: zero.New(),
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		this.expireMap[expiresAt] = expireItemMap
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	this.itemsMap[itemId] = expiresAt
 | 
						this.itemsMap[itemId] = expiresAt
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user