diff --git a/internal/nodes/http_writer.go b/internal/nodes/http_writer.go index c773c78..37c30f2 100644 --- a/internal/nodes/http_writer.go +++ b/internal/nodes/http_writer.go @@ -332,6 +332,12 @@ func (this *HTTPWriter) PrepareCache(resp *http.Response, size int64) { } } } + + // 先清理以前的 + if this.cacheWriter != nil { + _ = this.cacheWriter.Discard() + } + cacheWriter, err := storage.OpenWriter(cacheKey, expiresAt, this.StatusCode(), this.calculateHeaderLength(), totalSize, cacheRef.MaxSizeBytes(), this.isPartial) if err != nil { if err == caches.ErrEntityTooLarge && addStatusHeader { @@ -346,9 +352,6 @@ func (this *HTTPWriter) PrepareCache(resp *http.Response, size int64) { } return } - if this.cacheWriter != nil { - _ = this.cacheWriter.Discard() - } this.cacheWriter = cacheWriter if this.isPartial {