From da0fdf648574a7bf267aa64bdfe6fe9ba04ee14f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Sun, 20 Mar 2022 16:20:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/caches/list_file.go | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/internal/caches/list_file.go b/internal/caches/list_file.go index 406eb07..58f480d 100644 --- a/internal/caches/list_file.go +++ b/internal/caches/list_file.go @@ -3,7 +3,6 @@ package caches import ( - "context" "database/sql" "github.com/TeaOSLab/EdgeNode/internal/goman" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" @@ -127,31 +126,26 @@ func (this *FileList) Exist(hash string) (bool, error) { return false, nil } - item := this.memoryCache.Read(hash) + var item = this.memoryCache.Read(hash) if item != nil { return true, nil } - rows, err := db.existsByHashStmt.Query(hash, time.Now().Unix()) + var row = db.existsByHashStmt.QueryRow(hash, time.Now().Unix()) + if row.Err() != nil { + return false, nil + } + + var expiredAt int64 + err := row.Scan(&expiredAt) if err != nil { - if err == context.DeadlineExceeded { - return false, nil + if err == sql.ErrNoRows { + err = nil } return false, err } - defer func() { - _ = rows.Close() - }() - if rows.Next() { - var expiredAt int64 - err = rows.Scan(&expiredAt) - if err != nil { - return false, nil - } - this.memoryCache.Write(hash, 1, expiredAt) - return true, nil - } - return false, nil + this.memoryCache.Write(hash, 1, expiredAt) + return true, nil } // CleanPrefix 清理某个前缀的缓存数据