[cache]优化缓存文件写入加锁方法

This commit is contained in:
刘祥超
2021-01-11 23:06:50 +08:00
parent f93dba9d30
commit 6a42482323
4 changed files with 133 additions and 14 deletions

View File

@@ -2,7 +2,6 @@ package caches
import (
"os"
"sync"
)
type FileWriter struct {
@@ -10,16 +9,14 @@ type FileWriter struct {
key string
size int64
expiredAt int64
locker *sync.RWMutex
isReleased bool
}
func NewFileWriter(rawWriter *os.File, key string, expiredAt int64, locker *sync.RWMutex) *FileWriter {
func NewFileWriter(rawWriter *os.File, key string, expiredAt int64) *FileWriter {
return &FileWriter{
key: key,
rawWriter: rawWriter,
expiredAt: expiredAt,
locker: locker,
}
}
@@ -42,6 +39,7 @@ func (this *FileWriter) Close() error {
if err != nil {
_ = os.Remove(this.rawWriter.Name())
}
_ = this.rawWriter.Close()
this.Release()
@@ -73,5 +71,4 @@ func (this *FileWriter) Release() {
return
}
this.isReleased = true
this.locker.Unlock()
}