DacheQL - เครื่องมือแคช GraphQL แบบโอเพนซอร์ส (github.com/oslabs-beta) 7 คะแนน โดย xguru 2022-10-23 | 3 ความคิดเห็น | แชร์ทาง WhatsApp เครื่องมือแคชน้ำหนักเบาที่ใช้งานง่าย โดยใช้ Redis (LFU) หรือแคชในตัวของมันเอง (LRU) Node/Express + Typescript + Chart.js + Jest + React + Webpack บทความที่เกี่ยวข้อง graphqurl - Curl สำหรับ GraphQL 5 คะแนน · 0 ความคิดเห็น · 2021-01-10 XgeneCloud - โอเพนซอร์สที่เพิ่ม REST & GraphQL API ให้หลายฐานข้อมูล 5 คะแนน · 4 ความคิดเห็น · 2020-06-14 เหตุผลที่เลิกใช้ GraphQL หลังผ่านมา 6 ปี 22 คะแนน · 8 ความคิดเห็น · 2024-05-31 gqless - GraphQL client ที่ไม่ต้องเขียนคิวรี 6 คะแนน · 1 ความคิดเห็น · 2020-03-22 DGS - เซิร์ฟเวอร์ GraphQL โอเพนซอร์สของ Netflix 7 คะแนน · 0 ความคิดเห็น · 2021-02-04 3 ความคิดเห็น colus001 2022-10-23 ผมลองดูโค้ดแล้ว มีหลายจุดที่รู้สึกแปลกใจพอสมควรครับ ไม่แน่ใจว่าจะทำงานได้ดีหรือเปล่า โครงสร้างคือเช็กก่อนว่ามีแคชหรือไม่ ถ้าไม่มีก็ให้เซิร์ฟเวอร์ส่ง POST request ไปยัง endpoint อีกครั้ง ทำให้ต้องมี endpoint อยู่สองตัว และเพราะเป็นการแคช GraphQL query แบบเต็ม ๆ เลย เลยคิดว่ายูสเคสก็น่าจะไม่ได้มีมากนักครับ kbsbroad 2022-10-24 ถ้าอย่างนั้น ควรออกแบบ GraphQL cache อย่างไรถึงจะดีครับ? เนื่องจากพารามิเตอร์ของคำขอ GraphQL อาจแตกต่างกันไปในแต่ละกรณี ต่อให้ผมจะจัดการแคชเอง แต่ถ้าฝั่งเซิร์ฟเวอร์มีการทำแคชไว้ ก็ดูเหมือนจะไม่ต่างจาก DacheQL มากนัก เลยอยากทราบว่ามีวิธีที่ดีกว่านี้ไหมครับ? อยู่ ๆ ก็สงสัยขึ้นมาเลยขอถามครับ! colus001 2022-10-24 โดยปกติแล้วดูเหมือนว่าจะใช้ตัวโหลดข้อมูลระดับรีซอร์สเพื่อทำแคชกันนะครับ ไม่ใช่ว่าจะใช้วิธีแบบนั้นไม่ได้ แต่กรณีใช้งานของไลบรารีนี้มีน้อย และพอแยกเอ็นด์พอยต์ออกเป็นสองตัวก็ยิ่งโดนโจมตีได้ง่าย มีข้อเสียหลายอย่างครับ เพราะตอนร้องขอรีซอร์ส แค่มีคีย์เพิ่มมาเพียงตัวเดียวก็จะไม่เข้าแคชแล้ว
3 ความคิดเห็น
ผมลองดูโค้ดแล้ว มีหลายจุดที่รู้สึกแปลกใจพอสมควรครับ ไม่แน่ใจว่าจะทำงานได้ดีหรือเปล่า โครงสร้างคือเช็กก่อนว่ามีแคชหรือไม่ ถ้าไม่มีก็ให้เซิร์ฟเวอร์ส่ง POST request ไปยัง endpoint อีกครั้ง ทำให้ต้องมี endpoint อยู่สองตัว และเพราะเป็นการแคช GraphQL query แบบเต็ม ๆ เลย เลยคิดว่ายูสเคสก็น่าจะไม่ได้มีมากนักครับ
ถ้าอย่างนั้น ควรออกแบบ GraphQL cache อย่างไรถึงจะดีครับ? เนื่องจากพารามิเตอร์ของคำขอ GraphQL อาจแตกต่างกันไปในแต่ละกรณี ต่อให้ผมจะจัดการแคชเอง แต่ถ้าฝั่งเซิร์ฟเวอร์มีการทำแคชไว้ ก็ดูเหมือนจะไม่ต่างจาก DacheQL มากนัก เลยอยากทราบว่ามีวิธีที่ดีกว่านี้ไหมครับ? อยู่ ๆ ก็สงสัยขึ้นมาเลยขอถามครับ!
โดยปกติแล้วดูเหมือนว่าจะใช้ตัวโหลดข้อมูลระดับรีซอร์สเพื่อทำแคชกันนะครับ ไม่ใช่ว่าจะใช้วิธีแบบนั้นไม่ได้ แต่กรณีใช้งานของไลบรารีนี้มีน้อย และพอแยกเอ็นด์พอยต์ออกเป็นสองตัวก็ยิ่งโดนโจมตีได้ง่าย มีข้อเสียหลายอย่างครับ เพราะตอนร้องขอรีซอร์ส แค่มีคีย์เพิ่มมาเพียงตัวเดียวก็จะไม่เข้าแคชแล้ว