优化缓存相关代码

This commit is contained in:
刘祥超
2023-10-02 19:48:11 +08:00
parent 2f6aa0c14f
commit 4405cfd405
3 changed files with 13 additions and 9 deletions

View File

@@ -72,15 +72,15 @@ func (this *FileList) Init() error {
defer wg.Done()
var db = NewFileListDB()
err = db.Open(dir + "/db-" + types.String(i) + ".db")
if err != nil {
lastErr = err
dbErr := db.Open(dir + "/db-" + types.String(i) + ".db")
if dbErr != nil {
lastErr = dbErr
return
}
err = db.Init()
if err != nil {
lastErr = err
dbErr = db.Init()
if dbErr != nil {
lastErr = dbErr
return
}
@@ -120,8 +120,6 @@ func (this *FileList) Add(hash string, item *Item) error {
return err
}
// 这里不增加点击量,以减少对数据库的操作次数
this.memoryCache.Write(hash, 1, this.maxExpiresAtForMemoryCache(item.ExpiredAt))
if this.onAdd != nil {

View File

@@ -560,7 +560,9 @@ func (this *FileStorage) openWriter(key string, expiredAt int64, status int, hea
if isNewCreated && existsFile {
flags |= os.O_TRUNC
}
fsutils.WriteBegin()
writer, err := os.OpenFile(tmpPath, flags, 0666)
fsutils.WriteEnd()
if err != nil {
// TODO 检查在各个系统中的稳定性
if os.IsNotExist(err) {

View File

@@ -40,10 +40,14 @@ func TestNewCache(t *testing.T) {
}
func TestCache_Memory(t *testing.T) {
if !testutils.IsSingleTesting() {
return
}
testutils.StartMemoryStats(t)
var cache = NewCache()
var count = 2_000_000
var count = 20_000_000
for i := 0; i < count; i++ {
cache.Write("a"+strconv.Itoa(i), 1, time.Now().Unix()+3600)
}