ฉันใช้ Nginx ชิ้น
โมดูลเติมแคชสำหรับไฟล์ขนาดใหญ่ดังที่แสดงไว้ที่นี่ https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/
นี่คือการกำหนดค่าตัวอย่าง
ที่ตั้ง / {
ชิ้น 1m;
แคช proxy_cache;
proxy_cache_key $uri$is_args$args$slice_range;
proxy_set_header ช่วง $slice_range;
proxy_cache_valid 200 206 1h;
proxy_pass http://localhost:8000;
}
บทความกล่าวว่า:
NGINX ทำให้สามารถแคชคำขอช่วงดังกล่าวและค่อยๆ
เติมแคชด้วยโมดูล Cache Slice ซึ่งแบ่งไฟล์ออกเป็น
âชิ้นเล็ก ๆ â คำขอแต่ละช่วงเลือกส่วนเฉพาะที่
ครอบคลุมช่วงที่ขอ และถ้าช่วงนี้ยังไม่แคช ให้ใส่
ลงในแคช คำขออื่นๆ ทั้งหมดสำหรับชิ้นส่วนเหล่านี้ใช้ข้อมูล
จากแคช
คำถามของฉันคือจะเกิดอะไรขึ้นเมื่อได้รับช่วงไบต์ทั้งหมดของไฟล์จากแบ็กเอนด์และ Nginx ได้แคชชิ้นส่วนทั้งหมดไว้ Nginx ยังคงให้บริการคำขอโดยใช้หลายส่วนหรือรวมส่วนทั้งหมดเพื่อสร้างไฟล์ขนาดใหญ่ (เหมือนกับไฟล์ในแบ็กเอนด์) จากนั้นจึงให้บริการคำขอจากไฟล์ขนาดใหญ่หรือไม่
อย่างที่ฉันเห็นได้ว่าแคชคีย์นั้น proxy_cache_key $uri$is_args$args$slice_range;
. หมายความว่าแม้ว่า Nginx จะมีเนื้อหาครบถ้วน แต่ก็ยังแยกชิ้นส่วนเหล่านั้นแยกจากกันและให้บริการคำขอช่วงไบต์โดยใช้ชิ้นส่วนหรือไม่
ขอบคุณ