Caching
แคช GraphQL response ฝั่งไคลเอนต์หรือในระดับกลางระหว่างไคลเอนต์กับเซิร์ฟเวอร์ (เช่น CDN) ผ่านการแคช HTTP มาตรฐาน

Click to watch tutorial video - 05:30
เพิ่มความเร็วให้แอปพลิเคชันของคุณด้วยการใช้ HTTP Caching สำหรับ GraphQL response และการแคชผลลัพธ์ของการดำเนินการที่มีต้นทุนสูง
Cache Control
ใช้ HTTP caching เพื่อส่งเฮดเดอร์ Cache-Control พร้อมค่า max-age ในการตอบกลับของ GraphQL query เพื่อระบุว่าต้องแคช response นานเท่าใด
ส่วนขยาย Cache Control มี Cache Control Lists ซึ่งสามารถกำหนดค่า max-age แบบกำหนดเองสำหรับ fields และ directives ได้
ค่า max-age ของ response จะถูกคำนวณโดยอัตโนมัติจาก GraphQL engine โดยอิงจาก fields และ directives ที่มีอยู่ใน query

การแคชการแก้ไข Field
เพิ่ม directive @cache ลงใน GraphQL schema ซึ่งจะจัดเก็บผลลัพธ์จาก field ลงดิสก์ตามระยะเวลาที่กำหนด เมื่อเรียกใช้ field เดิมภายในช่วงเวลานั้น ระบบจะคืนค่าที่แคชไว้
directive นี้สามารถเพิ่มประสิทธิภาพได้เมื่อดำเนินการที่มีต้นทุนสูง (เช่น การเชื่อมต่อกับ API ภายนอก) เนื่องจากสามารถแคชและนำ response กลับมาใช้ซ้ำได้
query {
posts {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}