7 điểm bởi xguru 2022-10-23 | 3 bình luận | Chia sẻ qua WhatsApp
  • Công cụ lưu đệm gọn nhẹ, dễ sử dụng, tận dụng Redis (LFU) hoặc bộ nhớ đệm riêng (LRU)
  • Node/Express + Typescript + Chart.js + Jest + React + Webpack

3 bình luận

 
colus001 2022-10-23

Tôi có xem qua mã nguồn thì thấy khá nhiều chỗ khó hiểu. Tôi không chắc nó có hoạt động tốt hay không. Cấu trúc của nó là kiểm tra xem có cache hay chưa, nếu không thì lại gửi một yêu cầu POST từ máy chủ tới endpoint, nên phải có hai endpoint, và vì nó là cache toàn bộ GraphQL query nên có lẽ cũng không có nhiều use case lắm.

 
kbsbroad 2022-10-24

Vậy... thì nên cấu hình cache GraphQL như thế nào là tốt nhỉ? Vì tham số của request GraphQL có thể khác nhau tùy từng trường hợp, nên dù tự cấu hình cache thì nếu phía server cũng cấu hình cache, có lẽ cũng sẽ không khác DacheQL là mấy. Có cách nào tốt hơn không? Tự nhiên thấy tò mò nên mình hỏi thử!

 
colus001 2022-10-24

Thông thường có vẻ người ta dùng data loader ở cấp tài nguyên để cache. Không phải là không thể dùng kiểu đó, nhưng use case để dùng thư viện này khá ít, lại bị chia endpoint thành hai nên cũng dễ bị tấn công và có nhiều nhược điểm. Vì khi yêu cầu tài nguyên, chỉ cần phát sinh thêm một key là không thể ăn cache nữa.