优化文件句柄缓存相关代码

This commit is contained in:
GoEdgeLab
2024-03-28 08:52:53 +08:00
parent 6a86503d29
commit e242502948
2 changed files with 11 additions and 0 deletions

View File

@@ -64,6 +64,8 @@ func NewOpenFileCache(maxCount int) (*OpenFileCache, error) {
}
func (this *OpenFileCache) Get(filename string) *OpenFile {
filename = filepath.Clean(filename)
this.locker.RLock()
pool, ok := this.poolMap[filename]
this.locker.RUnlock()
@@ -85,6 +87,8 @@ func (this *OpenFileCache) Get(filename string) *OpenFile {
}
func (this *OpenFileCache) Put(filename string, file *OpenFile) {
filename = filepath.Clean(filename)
if file.size > maxOpenFileSize {
return
}
@@ -119,6 +123,8 @@ func (this *OpenFileCache) Put(filename string, file *OpenFile) {
}
func (this *OpenFileCache) Close(filename string) {
filename = filepath.Clean(filename)
this.locker.Lock()
pool, ok := this.poolMap[filename]

View File

@@ -622,6 +622,11 @@ func (this *FileStorage) openWriter(key string, expiredAt int64, status int, hea
return nil, fmt.Errorf("%w (003)", ErrFileIsWriting)
}
// 关闭
if openFileCache != nil {
openFileCache.Close(cachePath)
}
var metaBodySize int64 = -1
var metaHeaderSize = -1
if isNewCreated {