mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 07:40:56 +08:00 
			
		
		
		
	优化缓存LFU逻辑
This commit is contained in:
		@@ -3,7 +3,6 @@ package caches
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/utils/fasttime"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
type ItemType = int
 | 
			
		||||
@@ -16,7 +15,7 @@ const (
 | 
			
		||||
// 计算当前周
 | 
			
		||||
// 不要用YW,因为需要计算两周是否临近
 | 
			
		||||
func currentWeek() int32 {
 | 
			
		||||
	return int32(time.Now().Unix() / 86400)
 | 
			
		||||
	return int32(fasttime.Now().Unix() / 86400)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Item struct {
 | 
			
		||||
@@ -29,10 +28,7 @@ type Item struct {
 | 
			
		||||
	MetaSize   int64    `json:"metaSize"`
 | 
			
		||||
	Host       string   `json:"host"`     // 主机名
 | 
			
		||||
	ServerId   int64    `json:"serverId"` // 服务ID
 | 
			
		||||
 | 
			
		||||
	Week1Hits int64 `json:"week1Hits"`
 | 
			
		||||
	Week2Hits int64 `json:"week2Hits"`
 | 
			
		||||
	Week      int32 `json:"week"`
 | 
			
		||||
	Week       int32    `json:"week"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *Item) IsExpired() bool {
 | 
			
		||||
@@ -47,20 +43,6 @@ func (this *Item) Size() int64 {
 | 
			
		||||
	return this.HeaderSize + this.BodySize
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *Item) IncreaseHit(week int32) {
 | 
			
		||||
	if this.Week == week {
 | 
			
		||||
		this.Week2Hits++
 | 
			
		||||
	} else {
 | 
			
		||||
		if week-this.Week == 1 {
 | 
			
		||||
			this.Week1Hits = this.Week2Hits
 | 
			
		||||
		} else {
 | 
			
		||||
			this.Week1Hits = 0
 | 
			
		||||
		}
 | 
			
		||||
		this.Week2Hits = 1
 | 
			
		||||
		this.Week = week
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *Item) RequestURI() string {
 | 
			
		||||
	var schemeIndex = strings.Index(this.Key, "://")
 | 
			
		||||
	if schemeIndex <= 0 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user