API:Caching data
| This page is part of the MediaWiki Action API documentation. |
Controlling caching จาก client
โปรโตคอล HTTP ช่วยให้สามารถควบคุมวิธีที่เบราว์เซอร์และเนื้อหาเว็บพร็อกซีแคชผ่านทางค่าต่างๆที่กำหนดไว้ในส่วนหัว Cache-Control
(ใช้งานได้เฉพาะสำหรับคำขอ GET)
API ช่วยให้ลูกค้าสามารถกำหนดค่าเหล่านี้ ได้แก่ max-age และ s-maxage, ผ่าน API parameters maxage และ smaxage
maxage บอกเบราว์เซอร์ว่าคำตอบควรถูกแคชไว้นานเท่าใด (เป็นวินาที)
smaxage ทำเช่นเดียวกันสำหรับผู้รับมอบฉันทะที่ใช้ร่วมกัน ในทางปฏิบัติมักใช้เพื่อสั่งให้พร็อกซีย้อนกลับฝั่งเซิร์ฟเวอร์ (เช่น Wikimedia's Varnish)
ข้อผิดพลาดจะไม่แคช การตอบกลับที่เฉพาะเจาะจงของผู้ใช้จะถูกทำเครื่องหมายเป็น Cache-Control: private ดังนั้นเบราว์เซอร์จะแคช แต่พร็อกซีสาธารณะจะไม่
ปัจจุบัน API ใช้การตั้งค่าภาษาของผู้ใช้ที่เข้าสู่ระบบโดยค่าเริ่มต้นดังนั้นการตอบสนองต่อผู้ใช้ที่เข้าสู่ระบบอยู่เสมอ
ซึ่งสามารถหลีกเลี่ยงโดยการเพิ่ม uselang=content พารามิเตอร์ API (T97096).
การเพิ่มอัตราส่วนการเข้าถึงแคช
คำขอจะได้รับจากแคชเท่านั้นหาก URL ที่เก็บถูกแคชไว้
(เช่น. ถ้าคุณทำคำขอเดียวกันด้วย maxage=1800 แล้วใช้ maxage=3600 ส่วนที่สองจะไม่สามารถใช้รายการแคชแรกเนื่องจากพารามิเตอร์ maxage ต่างกันทำให้ URL ต่างกัน)
หากคุณส่งรายชื่อหน้าเป็นพารามิเตอร์คุณอาจเพิ่มอัตราส่วนการเข้าถึงแคชโดยการเรียงลำดับและการคัดลอกข้อมูลเหล่านั้น
การควบคุมแคชจากโมดูล API
วิธีการแคชถูกระบุโดย ApiMain::setCache*
Typically caching is only going to be a concern in the query submodules, which should use getCacheMode method instead, which they inherit from ApiQueryBase.