Saya sempat melihat kodenya, dan ada cukup banyak bagian yang terasa janggal. Saya kurang yakin apakah ini akan bekerja dengan baik. Strukturnya mengecek dulu apakah cache ada, lalu jika tidak ada server akan mengirim lagi request POST ke endpoint, jadi perlu menyiapkan dua endpoint, dan karena yang di-cache adalah keseluruhan query GraphQL, sepertinya use case-nya juga tidak akan banyak.
Kalau begitu, bagaimana cara terbaik menyusun cache GraphQL? Karena parameter request GraphQL bisa berbeda-beda tergantung kasusnya, meskipun saya menyusun cache sendiri, rasanya kalau akhirnya tetap membuat cache di sisi server hasilnya tidak akan jauh berbeda dengan DacheQL. Apakah ada pendekatan yang lebih baik? Saya jadi penasaran tiba-tiba, jadi ingin bertanya!
Biasanya orang memakai cache dengan data loader di level resource. Bukan berarti pendekatan seperti itu tidak bisa dipakai, tetapi use case untuk memakai library ini sedikit, dan karena endpoint terpecah menjadi dua, lebih mudah diserang serta punya banyak kekurangan. Saat meminta resource, kalau muncul satu saja key, cache jadi tidak bisa terpakai.
3 komentar
Saya sempat melihat kodenya, dan ada cukup banyak bagian yang terasa janggal. Saya kurang yakin apakah ini akan bekerja dengan baik. Strukturnya mengecek dulu apakah cache ada, lalu jika tidak ada server akan mengirim lagi request POST ke endpoint, jadi perlu menyiapkan dua endpoint, dan karena yang di-cache adalah keseluruhan query GraphQL, sepertinya use case-nya juga tidak akan banyak.
Kalau begitu, bagaimana cara terbaik menyusun cache GraphQL? Karena parameter request GraphQL bisa berbeda-beda tergantung kasusnya, meskipun saya menyusun cache sendiri, rasanya kalau akhirnya tetap membuat cache di sisi server hasilnya tidak akan jauh berbeda dengan DacheQL. Apakah ada pendekatan yang lebih baik? Saya jadi penasaran tiba-tiba, jadi ingin bertanya!
Biasanya orang memakai cache dengan data loader di level resource. Bukan berarti pendekatan seperti itu tidak bisa dipakai, tetapi use case untuk memakai library ini sedikit, dan karena endpoint terpecah menjadi dua, lebih mudah diserang serta punya banyak kekurangan. Saat meminta resource, kalau muncul satu saja key, cache jadi tidak bisa terpakai.