Vì mọi truy vấn đi qua một địa chỉ duy nhất và thường dùng POST, nên cache trung gian không phân biệt được các truy vấn khác nhau. Bù lại, GraphQL đẩy việc cache về phía client với normalized cache theo object.
Cách lấy lại khả năng cache ở tầng mạng: dùng persisted query kèm phương thức GET để địa chỉ trở nên duy nhất theo hash và biến; đặt tiêu đề thời hạn theo từng truy vấn; và tách rõ truy vấn công khai với truy vấn cần đăng nhập.
Một tầng đệm hay bị bỏ qua là ở chính server: đệm kết quả resolver theo khoá dữ liệu, đặc biệt cho các tra cứu ít thay đổi như danh mục hay cấu hình.
Cảnh báo về tính đúng đắn: nếu cùng một truy vấn trả dữ liệu khác nhau tuỳ người dùng, khoá cache phải chứa thông tin người dùng, nếu không sẽ rò dữ liệu giữa các tài khoản.