Cache trong lập trình ứng dụng quản lý với database

By
Advertisement
Cache trong lập trình không còn là nội dung mới mẻ nữa, tuy nhiên nếu bạn vẫn còn chưa sử dụng Cache thì nên đọc một chút bên dưới để có thể hiểu về cách mà Cache xử lý, đôi khi bạn cũng sẽ hiểu được vấn đề của mình nằm ở đâu khi Cache không đem lại hiệu quả. Một số bạn khác có thể đang tự xây dựng ứng dụng của mình theo hướng Cache thì có thể tham khảo.


Mình sẽ mô tả xử lý theo ngôn ngữ tự nhiên, vì nếu mô tả bằng ngôn ngữ lập trình thì quá dài dòng, nên mình cố gắn mô tả ngắn gọn nhất, dễ hiểu nhất cho các bạn. Đầu tiên các bạn nên hiểu các từ sau:

local cache : là 1 nguồn chứa nội dung trên client, bạn có thể tổ chức là datatable, mảng, danh sách liên kết...
csdl :  mình viết tắt của cơ sở dữ liệu gốc của các bạn.
đối tượng: là 1 object gọi chung vì mình chỉ nhấn mạnh đến cách xử lý thôi, 1 object khi cụ thể có thể là 1 khách hàng, một chiếc xe máy, một hàng hóa ... tùy vào đối tượng các bạn cache là gì.

Nội dung chính như sau:

Có đối tượng nào trong local cache có ID cần tìm không?
  No
    Lấy đối tượng từ csdl
    Nếu không có đối tượng nào như vậy trong csdl thì trả về null
    Lưu đối tương vào local cache
    Return đối tượng trong local cache

  Yes
    Lấy timestamp hiện tại của đối tượng trong csdl
    Nếu không có đối tượng như vậy
      Xóa đối tượng trong local cache
      Return null
    Lấy timestamp đối tượng trong local cache
    Kiểm tra 2 timestamp có như nhau không?

      Yes
        Return đối tượng local cache
      No
        Xóa đối tượng local cache
        Lấy đối tượng từ csdl
        Gán đối tượng vào local cache
        Return đối tượng trong local cache.

Đó là tất cả những gì bạn cần làm để Cache cho một loại đối tượng, có quá nhiều xử lý phải không, có nhiều cách khác để cải tiến quá trình trên nhưng trên là quy trình đầy đủ nhất, bạn nên tiếp cận từ đầu khi chơi cache. Bạn có thể tìm thêm nhiều giải pháp khác thông qua tìm kiếm trên mạng internet.

Chúc các bạn vui vẻ và vọc tốt.

0 blogger:

Đăng nhận xét