API Caching response

Discussion in 'Hỏi Đáp Kỹ Thuật' started by Wagos, Apr 21, 2022.

  1. Wagos

    Wagos Khách Qua Đường

    chào mọi người, em đang làm api và muốn caching resposne, hiện tại caching thì em làm được nhưng mỗi khi dữ liệu thay đổi thì Cache k được cập nhập theo, mọi người cho em giải pháp với ạ,
     
  2. Nai

    Nai MiddleMan Staff Member

    Mình ko biết "API Caching response" của bạn là gì. Nhưng nếu muốn cập nhật cache thì mỗi lần thay đổi dữ liệu thì bạn tạo lại cache mới cho cache nào đã sử dụng dữ liệu thay đổi đó là được mà.

    Còn trường hợp khác là cái chỉ thay đổi 1 field trong số nhiều fields trong API trả về thì bạn cần làm 1 khóa tổng để kiểm tra dữ liệu có thay đổi không trước khi gửi cache cho user:
    Ví dụ như cache 8 fields thì có tổng là 8 dc lưu ở 1 file hoặc db. Mỗi lần có 1 fields thay đổi tương ứng theo stt fields nào đó như field số 2 thì khóa là 82. Kiểm tra thấy khóa > 8 thì update lại cache mới, rewrite lại khóa về 8 rồi reponse đến user.

    Còn thực tế có cách nào khác đơn giản hơn thì mình không biết :D
     
    Wagos and firefox like this.
  3. mr0986

    mr0986 Tân Thủ Thôn

    Thớt kiểm tra xem đã set expired time cho cache chưa. Nên hỏi cụ thể thêm vd dùng library nào
     
    Wagos likes this.
  4. firefox

    firefox Bang Chúng

    về mặt chuyên môn thì cái này gõ vài trang A4 không hết đâu, nghệ thuật của cache là setup cache ở tầng nào, lifetime bao lâu và invalidate lúc nào. Nó bao gồm nhiều vấn đề, và nhiều vị trí có thể cache (cdn, web server, web application, db...), nếu tiện thì bạn có thể mô tả sơ sơ một chút về các api, về traffic, về kiến trúc trong ngoài, ngôn ngữ sử dụng... thì ae dễ hiểu chủ đề để mà chém gió hơn
     
    Wagos, no-reply, Nai and 1 other person like this.
  5. Nai

    Nai MiddleMan Staff Member

    Em cũng nghĩ cao siêu như vậy á mới trả lời hết câu hỏi trừu tượng này đó cụ. Mà thấy thớt sắp trôi qua khung newsfeed rồi mà ko ai rep hết nên vào rep đại cho chủ thớt. :D
     
    Wagos and firefox like this.
  6. tieusongngu

    tieusongngu Khách Qua Đường

    Mỗi khi dữ liệu thay đổi là tầm bao lâu mới được, bạn đưa ra câu hỏi chung chung quá ae cũng chả thể nào help được. Muốn thay đổi cache thì clear cache cũ, tạo cache mới thôi, tuy nhiên phải xem khoảng thời gian giữa mỗi lần thay đổi có ngắn quá ko, ngắn quá thì cache chả có tác dụng gì.
     
  7. Wagos

    Wagos Khách Qua Đường

    --- Double Post Merged, Apr 28, 2022, Original Post Date: Apr 28, 2022 ---
    Em làm một dự án ReactJS, tự viết API, vì muốn tăng tốc độ trả về của API nên em muốn Cache response của API lại, chắc là em sẽ dùng redis cache trên server api luôn, web này CCU khá thấp khoản 50 - 100 người truy cập cùng một lúc, nếu bác có solution nào hay thì chỉ giáo em với
     
  8. vovanhoait

    vovanhoait Khách Qua Đường

    => sao bác ko dùng react server side render như Nextjs lun , khoi phải call API nữa,