แคชชิ่งการแคชการแก้ไขฟิลด์
การแคชการแก้ไขฟิลด์
Included in the “Power Extensions” bundle
การเพิ่ม directive @cache ลงใน GraphQL schema ซึ่งจะเก็บผลลัพธ์จากฟิลด์ไว้ในดิสก์ตามระยะเวลาที่กำหนด เมื่อมีการเรียกใช้ฟิลด์เดิมภายในช่วงเวลานั้น ค่าที่แคชไว้จะถูกส่งคืน
เพิ่ม @cache ลงในฟิลด์ที่ต้องการแคชใน GraphQL query โดยระบุระยะเวลา (เป็นวินาที) ที่ต้องการเก็บผลลัพธ์ไว้ในแคช
directive นี้สามารถเพิ่มประสิทธิภาพได้เมื่อดำเนินการที่มีต้นทุนสูง (เช่น การโต้ตอบกับ API ภายนอก) เนื่องจากเราสามารถแคชและนำการตอบสนองกลับมาใช้ซ้ำได้
ตัวอย่าง
@strTranslate เชื่อมต่อกับ Google Translate API ด้วยการใช้ @cache(time: 10) ค่าที่แปลแล้วของฟิลด์ title จะถูกแคชไว้ 10 วินาที และการเรียกใช้ query เดิมซ้ำภายในช่วงเวลานี้จะหลีกเลี่ยงการเชื่อมต่อกับ Google Translate ส่งผลให้การแก้ไขทำงานได้รวดเร็วมาก
query {
posts(pagination:{ limit: 3 }) {
id
title
@strTranslate(from: "en", to: "es")
@cache(time: 10)
}
}Prev
Next