From 224abcfe0a1a4a600969dfa239ff7276eb6c0068 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sat, 7 Oct 2023 14:56:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=84=86=E7=89=87=E5=86=85?= =?UTF-8?q?=E5=AD=98=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/caches/writer_memory.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/internal/caches/writer_memory.go b/internal/caches/writer_memory.go index b92539f..93e5795 100644 --- a/internal/caches/writer_memory.go +++ b/internal/caches/writer_memory.go @@ -37,10 +37,15 @@ func NewMemoryWriter(memoryStorage *MemoryStorage, key string, expiredAt int64, if ok { valueItem.BodyValue = bodyBytes } else { - if expectedBodySize >= minMemoryFragmentPoolItemSize { - SharedFragmentMemoryPool.IncreaseNew() + if isDirty { + if expectedBodySize >= minMemoryFragmentPoolItemSize { + SharedFragmentMemoryPool.IncreaseNew() + } + var allocSize = (expectedBodySize/16384 + 1) * 16384 + valueItem.BodyValue = make([]byte, allocSize)[:expectedBodySize] + } else { + valueItem.BodyValue = make([]byte, expectedBodySize) } - valueItem.BodyValue = make([]byte, expectedBodySize) } valueItem.IsPrepared = true