Подобряване на производителността на Aspose.PSD с използване на персонализируем кеш
Подобряване на производителността с персонализируем кеш
Aspose.PSD използва кеширане за временно съхранение на данни. Механизмът е лесен за използване, персонализируем и прозрачен. Той гарантира, че няма проблеми с производителността по време на обработка на изображения. Тази статия обяснява как да персонализирате кеша с Aspose.PSD API за .NET.
Персонализиране на кеша
Когато процесът се нуждае от временно съхранение на данни, това съхранение се заделя в кеша. Кешът може да бъде в памет или на диск и се задава от потребителя. Когато временните данни вече не са необходими, пространството се освобождава. Статистиката на заделеното пространство може да бъде разгледана по всяко време. Как Aspose.PSD разпределя и използва кешове може да бъде персонализирано. Тази секция описва различните настройки и техните стойности по подразбиране, а кодовите откъски по-долу показват как могат да бъдат използвани.
Задаване на мястото, където се разпределя кешът
За да персонализирате как се разпределя пространството на кеша, задайте свойството CacheType. По подразбиране кешът се разпределя в памет и когато няма повече налично пространство в паметта, се разпределя на диск. Това поведение се изразява с режим Auto. Режимът Auto е гъвкав и максимизира производителността. Съществуват и други режими:
- Режим CacheOnDiskOnly: разпределение само на диск.
- Режим CacheInMemoryOnly: разпределение само в памет.
Изборът на режим CacheOnDiskOnly може да доведе до лоша производителност.
Задаване на размера на кеша
Задайте максималното пространство (в байтове), което може да се разпредели на диск или памет, като зададете свойствата MaxDiskSpaceForCache и MaxMemoryForCache съответно. По подразбиране, и двете стойности са зададени на 0, което означава, че няма горна граница.
Контролиране на преразпределението на кеша
Ако няма достатъчно налично пространство в паметта (както е посочено от свойството MaxMemoryForCache), когато се заделя нов кеш, кешът се разпределя на диск. Ако няма достатъчно пространство на диска, се генерира грешка. Процесът на разпределяне на кеша се движи от памет към диск, но не и обратно. Свойството ExactReallocateOnly се използва за контрол на преразпределението на паметта. Преразпределението е най-вероятно да се случи за предварително заделени кешове. То може да стане, когато системата разбере, че заделеното пространство няма да бъде достатъчно. Ако ExactReallocateOnly е зададено на стойността по подразбиране, False, пространството се преразпределя към същата среда. Когато е зададено на True, преразпределението не може да надхвърли максималното зададено пространство. В този случай съществуващият заделен кеш в паметта (който изисква преразпределение) се освобождава и се заделя разширено пространство на диска.