Avatar
1
jungtin Beginner
jungtin Beginner
Làm thế nào để cache api cho Frontend & notify if something changes
Hello anh Dũng và mọi người

Hiện tại em đang làm cho một dự án chuyên frontend & backend có thể kiểm soát và thay đổi đôi chút được

Hiện tại cũng khó liên lạc với team backend (bên client) nên việc chỉnh sửa API là nên hạn chế

Vấn đề: API fetch nhiều field không cần thiết, không sử dụng graphQL

Khi sử dụng thì mỗi lần navigate lại phải chờ một khoảng rất lâu để response trả về

Q: Không biết có cách nào để cache api này về localStorage và kiểm tra nếu data ở API có thay đổi gì -> load data mới

data không thay đổi quá liên tục

Hiện tại cách e nghĩ là : lưu vào localStorage + count -> mỗi lần navigate -> check count ở server

Hiện tại nói chung là bên cty phía BE thì ngán k chịu dc : no-redis, no-graphql, api không limit field

Mấy bác có hướng điều binh nào không ạ !

Điều em thắc mắc ở đây là làm sao để check if data has changed để update

Em cám ơn ạ

  • Answer
cache api frontend
Remain: 5
1 Answer
Avatar
tvd12 Beginner
tvd12 Beginner
The Best Answer
Bài toán của em thì ở đâu cũng gặp em ạ, bọn anh cũng gặp vấn đề này, nhưng client không thể cache dữ liệu được em ạ, bắt buộc vẫn phải lấy dữ liệu từ server vì:

  1. client không thể biết khi nào thì dữ liệu bị thay đổi
  2. nếu thêm api để check dữ liệu có bị thay đổi không thì sẽ làm tăng số lượng API lên và đặt gánh nặng vào development team.

Anh nghĩ để giải quyết triệt để vấn đề này thì team nên bàn bạc với nhau để quyết định sử dụng GraphQL hay tạo ra API mới thay thế cho API cũ em ạ, bọn anh cũng đang dùng cách thảo luận này.

  • 1
  • Reply
Em cám ơn anh ạ !

Hiện tại proj vẫn trong development stage nên chắc là không tạo ra quá nhiều api

"Có vẻ" khi nào FE hoàn thành thiện thì sẽ optimize các API hơn :)))

 –  jungtin 1632438157000