بهبود عملکرد Aspose.PSD با استفاده از حافظه Cache قابل تنظیم
بهبود عملکرد با حافظه Cache قابل تنظیم
Aspose.PSD از حافظه Cache برای ذخیره موقت دادهها استفاده میکند. این مکانیسم آسان برای استفاده، قابل تنظیم و شفاف است. اطمینان حاصل میشود که مشکلات عملکردی در هنگام پردازش تصاویر وجود ندارد. این مقاله توضیح میدهد چگونه میتوان حافظه Cache را با استفاده از API Aspose.PSD برای Java تنظیم کرد.
تنظیمات حافظه Cache
وقتی یک فرآیند به ذخیره موقت دادهها نیاز دارد، این فضا در Cache تخصیص داده میشود. حافظه Cache ممکن است در حافظه یا در دیسک قرار گیرد و توسط کاربر تنظیم شود. زمانیکه دادههای موقت دیگر نیازی به آن ندارند، فضا آزاد میشود. آمار فضای تخصیص داده شده میتواند هر زمانی بررسی شود. چگونگی تخصیص و استفاده از Cache توسط Aspose.PSD میتواند تنظیم شود. این بخش شرح تنظیمات مختلف و تنظیمات پیشفرض آنها را توضیح داده و کدهای زیر نشان میدهد چگونه میتوانند استفاده شوند.
تنظیم جایی که Cache تخصیص داده میشود
برای تنظیم اینکه فضای Cache چگونه تخصیص داده میشود، خصوصیت CacheType را تنظیم کنید. پیشفرض، Cache در حافظه تخصیص داده میشود و زمانیکه فضایی دیگر در حافظه موجود نیست، به دیسک اختصاص داده میشود. این رفتار توسط حالت خودکار شناسایی میشود. حالت خودکار انعطافپذیر است و عملکرد را به حداکثر میرساند. همچنین حالتهای دیگری وجود دارد:
- حالت CacheOnDiskOnly: تخصیص فقط به دیسک.
- حالت CacheInMemoryOnly: تخصیص فقط به حافظه.
انتخاب حالت CacheOnDiskOnly ممکن است منجر به کاهش عملکرد شود.
تنظیم اندازه Cache
حداکثر فضایی که میتواند در دیسک یا حافظه تخصیص داده شود را با تنظیم خصوصیتهای MaxDiskSpaceForCache و MaxMemoryForCache تنظیم کنید. به طور پیشفرض، هر دو مقدار صفر تنظیم شدهاند، به این معنی که هیچ محدودیتی وجود ندارد.
کنترل دوباره تخصیص حافظه Cache
اگر فضای کافی برای تخصیص در حافظه موجود نباشد (همانطور که توسط خصوصیت MaxMemoryForCache مشخص شده است) زمانیکه Cache جدیدی تخصیص داده میشود، Cache به دیسک تخصیص داده خواهد شد. اگر فضای کافی در دیسک نباشد، یک استثناء اعلام میشود. فرآیند تخصیص Cache از حافظه به دیسک منتقل شده اما بالعکس صورت نمیگیرد. خصوصیت ExactReallocateOnly برای کنترل دوباره تخصیص حافظه استفاده میشود. دوباره تخصیص در اغلب موارد برای Cacheهای پیشتعیین شده اتفاق میافتد. این میتواند اتفاق بیفتد زمانیکه سیستم متوجه میشود که فضای تخصیص داده شده کافی نخواهد بود. اگر ExactReallocateOnly به مقدار پیشفرض، False، تنظیم شود، فضای تخصیصداده شده به همان مدیوم دوباره تخصیص داده میشود. زمانیکه به True تنظیم شود، دوباره تخصیص نمیتواند از مقدار حداکثر مشخص شده تجاوز کند. در این حالت، Cache حافظهای از پیش تخصیص داده شده (که نیاز به دوباره تخصیص دارد) آزاد شده و فضای گستردهتری در دیسک تخصیص داده میشود.