ปรับปรุงประสิทธิภาพด้วยแคชที่สามารถปรับแต่งได้
Aspose.PSD ใช้การเก็บข้อมูลชั่วคราวเพื่อการเก็บข้อมูลชั่วคราว กลไกง่ายต่อการใช้งาน และสามารถปรับแต่งและใส่ใจได้ แน่ใจว่าไม่มีปัญหาใด ๆ ในการประมวลผลภาพ บทความนี้อธิบายวิธีปรับแต่งแคชด้วย Aspose.PSD API สำหรับ Java
การปรับแต่งแคช
เมื่อกระบวนการต้องการเก็บข้อมูลชั่วคราว พื้นที่เก็บข้อมูลชั่วคราวนี้ถูกจัดสรรในแคช แคชนี้สามารถเป็นพื้นที่ในหน่วยความจำหรือบนดิสก์และถูกกำหนดโดยผู้ใช้ ขณะที่ข้อมูลชั่วคราวไม่ได้ถูกใช้อีกต่อไป พื้นที่นี้จะถูกยกเลิก เราสามารถตรวจสอบสถิติของพื้นที่ที่จัดสรรไว้ได้ในทุก ๆ เวลา วิธี Aspose.PSD ในการจัดสรรและใช้แคชสามารถปรับแต่งได้ ส่วนนี้จะอธิบายเกี่ยวกับการตั้งค่าต่าง ๆ และค่าเริ่มต้นของตัวแบบ และโค้ดย่อยด้านล่างแสดงวิธีการใช้งาน
กำหนดที่จะจัดสรรแคช
เพื่อปรับแต่งวิธีการจัดสรรพื้นที่แคช กำหนดค่าคุณสมบัติ CacheType โดยค่าเริ่มต้น แคชจะถูกจัดสรรในหน่วยความจำ และเมื่อมีพื้นที่ในหน่วยความจำไม่เพียงพอ แคชจะถูกจัดสรรไปยังดิสก์ พฤติกรรมนี้ถูกจับเอาไว้ในโหมด Auto โหมด Auto เป็นโหมดที่ยืดหยุ่นและสูงสุดในการประสิทธิภาพ ยังมีโหมดอื่น ๆ ที่ได้แก่:
- โหมด CacheOnDiskOnly: จัดสรรไปยังดิสก์เท่านั้น
- โหมด CacheInMemoryOnly: จัดสรรไปยังหน่วยความจำเท่านั้น
การเลือกโหมด CacheOnDiskOnly อาจ导致ปิดประสิทธิภาพ
กำหนดขนาดของแคช
กำหนดพื้นที่สูงสุด (ในไบท์) ที่สามารถจัดสรรไปยังดิสก์หรือหน่วยความจำโดยการตั้งค่า MaxDiskSpaceForCache และ MaxMemoryForCache ตามลำดับ โดยค่าเริ่มต้นของทั้งสองค่าถูกตั้งเป็น 0 ซึ่งหมายความว่าไม่มีขีดจำกัดข้างบน
ควบคุมการจัดสรรแคชอีกครั้ง
หากไม่มีพื้นที่ในหน่วยความจำพอในขณะที่เพิ่มแคชใหม่ (ตามคุณสมบัติ MaxMemoryForCache) แคชจะถูกจัดสรรไปยังดิสก์ หากไม่มีพื้นที่บนดิสก์เพียงพอ จะถูกโยนข้อยกเว้น กระบวนการจัดสรรแคชจะเปลี่ยนจากหน่วยความจำไปยังดิสก์ แต่ไม่ใช่กลับเป็นข้อยกเว้น คุณสมบัติ ExactReallocateOnly ใช้ในการควบคุมการจัดสรรหน่วยความจำอีกครั้ง การจัดสรรน่าจะเกิดขึ้นสำหรับแคชที่ถูกจัดล่วงหน้า สามารถเกิดขึ้นเมื่อระบบคิดว่าพื้นที่ที่จัดสรรไว้จะไม่เพียงพอ หาก ExactReallocateOnly ถูกตั้งค่าเป็นค่าเริ่มต้น คือ False พื้นที่จะถูกจัดสรรในหน่วยความจำเดิม ที่ต้องการการจัดสรรอีกครั้ง และพื้นที่ส่วนเพิ่มจะจัดสรรไปยังดิสก์