Tổng quan về bộ nhớ web

Điều quan trọng là bạn phải chọn cơ chế lưu trữ phù hợp, cho cả bộ nhớ cục bộ trên thiết bị và bộ nhớ trên máy chủ trên đám mây. Một công cụ lưu trữ hiệu quả sẽ đảm bảo thông tin của bạn được lưu một cách đáng tin cậy, giảm băng thông và cải thiện khả năng phản hồi. Chiến lược phù hợp để lưu vào bộ nhớ đệm là yếu tố cốt lõi để bật trải nghiệm ngoại tuyến trên web dành cho thiết bị di động.

Bài viết này cung cấp nền tảng ngắn gọn để đánh giá các API và dịch vụ lưu trữ, sau đó, chúng tôi sẽ cung cấp bảng so sánh và một số hướng dẫn chung. Trong tương lai gần, chúng tôi dự định bổ sung tài nguyên để hiểu rõ hơn về các chủ đề được chọn liên quan đến bộ nhớ.

Phân loại bộ nhớ

Hãy bắt đầu bằng cách tìm hiểu một số phương diện giúp chúng ta phân tích dung lượng lưu trữ dữ liệu cho các ứng dụng web. Sau đó, chúng tôi sẽ sử dụng khung này để liệt kê và đánh giá nhiều tuỳ chọn bộ nhớ có sẵn cho nhà phát triển web.

Mô hình dữ liệu

Mô hình lưu trữ các đơn vị dữ liệu sẽ xác định cách sắp xếp dữ liệu nội bộ. Điều này ảnh hưởng đến khả năng sử dụng, chi phí và hiệu suất của các yêu cầu lưu trữ cũng như truy xuất.

  • Có cấu trúc: Dữ liệu được lưu trữ trong bảng chứa các trường được xác định trước (như thông thường của hệ thống quản lý cơ sở dữ liệu dựa trên SQL) phù hợp với các truy vấn linh hoạt và động, trong đó toàn bộ các loại truy vấn có thể không được ưu tiên. Một ví dụ nổi bật về kho dữ liệu có cấu trúc trong trình duyệt là IndexedDB.

  • Khoá/Giá trị: Kho dữ liệu khoá/giá trị và các cơ sở dữ liệu NoSQL liên quan cho phép lưu trữ và truy xuất dữ liệu không có cấu trúc được lập chỉ mục bằng một khoá duy nhất. Kho dữ liệu khoá/giá trị giống như bảng băm ở chỗ kho dữ liệu này cho phép truy cập liên tục vào dữ liệu mờ và đã được lập chỉ mục. Ví dụ nổi bật về kho dữ liệu khoá/giá trị là API Bộ nhớ đệm trong trình duyệt và Apache Cassandra trên máy chủ.

  • Luồng byte: Mô hình đơn giản này lưu trữ dữ liệu dưới dạng một chuỗi byte mờ, có độ dài thay đổi, để lại bất kỳ dạng tổ chức nội bộ nào cho lớp ứng dụng. Mô hình này đặc biệt phù hợp với các hệ thống tệp và các blob dữ liệu được sắp xếp theo thứ bậc khác. Một số ví dụ nổi bật về kho dữ liệu luồng byte bao gồm hệ thống tệp và dịch vụ bộ nhớ trên đám mây.

Khả năng lưu trữ dài lâu

Bạn có thể phân tích các phương thức lưu trữ cho ứng dụng web theo phạm vi duy trì dữ liệu.

  • Duy trì phiên: Dữ liệu trong danh mục này chỉ được giữ lại miễn là một phiên web hoặc thẻ trình duyệt duy nhất vẫn hoạt động. Một ví dụ về cơ chế lưu trữ có tính năng lưu trữ phiên là API Bộ nhớ phiên.

  • Khả năng lưu trữ cố định của thiết bị: Dữ liệu trong danh mục này được lưu giữ trên các phiên và thẻ/cửa sổ trình duyệt, trong một thiết bị cụ thể. Một ví dụ về cơ chế lưu trữ có tính bền vững của thiết bị là Cache API.

  • Khả năng lưu trữ cố định chung: Dữ liệu trong danh mục này được giữ lại trên các phiên và thiết bị. Do đó, đây là hình thức bền vững nhất đối với dữ liệu. Ví dụ về một cơ chế lưu trữ có khả năng lưu trữ cố định trên toàn cầu là Google Cloud Storage.

Hỗ trợ trình duyệt

Nhà phát triển nên chọn một API phù hợp nhất với miền có vấn đề của họ. Tuy nhiên, họ cũng nên tính đến thực tế là các API được chuẩn hoá và thiết lập tốt sẽ thích hơn so với các giao diện tuỳ chỉnh hoặc giao diện độc quyền, vì các API này có xu hướng tồn tại lâu hơn và được hỗ trợ rộng rãi hơn. Họ cũng có thể có nền tảng kiến thức rộng hơn và hệ sinh thái nhà phát triển phong phú hơn.

Giao dịch

Thông thường, điều quan trọng là một tập hợp các hoạt động lưu trữ liên quan phải thành công hoặc thất bại triệt để. Các hệ thống quản lý cơ sở dữ liệu thường hỗ trợ tính năng này bằng cách sử dụng mô hình giao dịch, trong đó nội dung cập nhật liên quan có thể được nhóm thành các đơn vị tuỳ ý. Mặc dù không phải lúc nào cũng cần thiết nhưng đây là một tính năng tiện lợi và đôi khi cần thiết trong một số miền có vấn đề.

Đồng bộ hoá/Không đồng bộ

Một số API lưu trữ đồng bộ theo nghĩa là các yêu cầu lưu trữ hoặc truy xuất sẽ chặn luồng đang hoạt động cho đến khi yêu cầu hoàn tất. Việc này đặc biệt khó khăn trong các trình duyệt web, nơi yêu cầu lưu trữ đang chia sẻ luồng chính với giao diện người dùng. Để đảm bảo tính hiệu quả và hiệu suất, bạn nên ưu tiên các API lưu trữ không đồng bộ.

Gỡ lỗi bộ nhớ trong Công cụ của Chrome cho nhà phát triển

Hãy xem các tài liệu sau để tìm hiểu thêm về cách sử dụng Công cụ của Chrome cho nhà phát triển để kiểm tra và gỡ lỗi API lưu trữ trên web mà bạn chọn. Các API không được đề cập ở đây có thể không được hỗ trợ trong Công cụ cho nhà phát triển hoặc không áp dụng được.

Nếu bạn đang sử dụng nhiều API lưu trữ, hãy xem tính năng Xoá bộ nhớ của DevTools. Tính năng này cho phép bạn xoá nhiều cửa hàng chỉ bằng một lần nhấp vào nút. Hãy xem bài viết Xoá trình chạy dịch vụ, bộ nhớ, cơ sở dữ liệu và bộ nhớ đệm để biết thêm thông tin.

Bước tiếp theo...

Sau khi đã xem xét một số cách liên quan để xem xét cơ chế lưu trữ, cũng như so sánh các API và dịch vụ phổ biến nhất hiện nay, chúng tôi sẽ sớm bổ sung thêm nội dung để đi sâu hơn vào một hoặc nhiều chủ đề mà bạn quan tâm: