HttpRuntime.Cache กำลังกำจัดพฤติกรรมเริ่มต้นหรือไม่

เมื่อเพิ่มรายการโดยใช้วิธีการแทรกเริ่มต้น Insert(key, value) และเป็นเช่นนั้นโดยใช้ลักษณะการทำงานเริ่มต้นของ HttpRuntime.Cache การไล่ออกจะเกิดขึ้นเมื่อใด

ขีดจำกัดของกลุ่มแอปพลิเคชันที่โฮสต์แอปพลิเคชันของฉันคือ 0 (ไม่จำกัด)... แต่ฉันไม่เห็นวิธีที่จะค้นหาได้ว่าแคชจะมีขนาดใหญ่แค่ไหนก่อนที่จะทำการไล่ออก ปัญหาคือฉันกำลังแคชข้อมูลจำนวนมากที่อาจมีขนาดใหญ่มาก แต่ฉันมีหน่วยความจำบนเซิร์ฟเวอร์ที่จำกัด และฉันต้องการหลีกเลี่ยงการรีไซเคิลกลุ่มแอป

ฉันกำลังถามในบริบทของ IIS6 และ IIS7

ขอบคุณ


person Rire1979    schedule 27.04.2010    source แหล่งที่มา


คำตอบ (1)


คำตอบสั้นๆ ก็คือ แคชเริ่มที่จะไล่ที่ แคชEffectivePrivateBytesLimit

ขีดจำกัดเริ่มต้นจะคำนวณโดยใช้ปัจจัยหลายประการ และโดยทั่วไปควรป้องกันไม่ให้กระบวนการของคุณรีไซเคิลมากเกินไป ตามหลักการแล้ว แอปพลิเคชันจะไม่ได้รับผลกระทบจากการรีไซเคิล แต่ฉันตระหนักดีว่ามีสาเหตุหลายประการที่ทำให้การรีไซเคิลไม่สามารถทำได้เสมอไป หากจำเป็น คุณควรสามารถตั้งค่าขีดจำกัดหน่วยความจำสำหรับแคช ประสานงานกับการตั้งค่าการรีไซเคิลพูลแอพ

Thomas Marquardt จากทีมงาน asp.net เขียน โพสต์ที่น่าสนใจมากซึ่งอธิบายรายละเอียด

person Joel Fillmore    schedule 05.05.2010