Cache là gì? Vai trò và phân loại các cache

      Trong công nghệ thông tin có lẽ mọi người cũng đã nghe đến cache nhưng không phải ai cũng đã hiểu rõ định nghĩa về từ này. Bài viết dưới đây Cache là gì? Vai trò và phân loại các cache sẽ đưa ra cho bạn những thông tin chi tiết nhất về cache. Hãy cùng tìm hiểu ngay nhé!

1. Cache là gì?

      Cache là phần cứng hoặc phần mềm lưu trữ dữ liệu tạm thời trong môi trường máy tính, . Dữ liệu khi truyền thường được cache lại (lưu trữ) để rút ngắn thời gian truy cập, qua đó giảm độ trễ và cải thiện đầu vào (input)/đầu ra (output) (I/ O). Bởi vì hầu hết tất cả các workload của ứng dụng phụ thuộc vào các hoạt động I/ O, caching do đó được sử dụng để cải thiện hiệu suất ứng dụng.

      Bên cạnh đó, bạn cũng cần biết, caching là quá trình lưu trữ dữ liệu trong bộ nhớ đệm cache dưới dạng mã nhị phân. Nó có tác dụng giúp rút ngắn thời gian truy cập, giảm độ trễ, thực hiện các thao tác trên các nền tảng một cách thuận tiện nhất. 

https://techvccloud.mediacdn.vn/zoom/650_406/2018/6/18/cache-15292949406171641298686-40-0-573-948-crop-15292949456041997899434.jpg

2. Ví dụ về cache (bộ nhớ đệm)

      Các web browsers như Internet Explorer, Firefox, Safari và Chrome sử dụng bộ nhớ cache của trình duyệt để cải thiện hiệu suất cho các trang web được truy cập thường xuyên. Khi bạn truy cập một trang web, các files mà trình duyệt của bạn yêu cầu sẽ được lưu trữ trên bộ nhớ máy tính trong bộ nhớ đệm (cache) của trình duyệt.

      Nếu bạn nhấp vào “back” và quay lại trang đó, trình duyệt có thể truy xuất hầu hết các file cần thiết từ bộ nhớ cache thay vì gửi yêu cầu gửi lại tất cả các tệp đó. Cách tiếp cận này được gọi là đọc cache (read cache).

      Browsers đọc dữ liệu từ bộ nhớ cache của trình duyệt nhanh hơn nhiều so với việc phải đọc lại các tệp từ webpage.

3. Cache algorithms (Thuật toán cache)

      Thuật toán cache cung cấp hướng dẫn về cách duy trì bộ nhớ cache. Sau đây là một số ví dụ về thuật toán bộ nhớ đệm cache:

– Ít được sử dụng thường xuyên nhất (LFU, Least Frequently Used)

– Sử dụng bộ đếm để theo dõi tần suất truy cập vào một mục; mục nào có số lần truy nhập thấp nhất sẽ được xóa đi đầu tiên.

– Ít sử dụng gần đây nhất (LRU, Least Recently Used)

– Giữ các mục được sử dụng gần đây nhất nằm trên top đầu bộ nhớ đệm; khi đạt đến giới hạn bộ nhớ cache, các mục ít được truy cập gần đây nhất sẽ bị xóa (các top cuối).

– Ưu tiên loại bỏ các items được sử dụng gần đây nhất; cách tiếp cận này rất hữu ích đặc biệt cho các tình huống các items cũ hơn có nhiều khả năng được truy cập hơn.

4. Các loại cache (bộ nhớ đệm)

4.1. Write-around cache là gì?

      Bộ nhớ đệm cache write-around cho phép ghi các hoạt động được ghi vào bộ nhớ, hoàn toàn bỏ qua bộ nhớ cache.

– Ưu điểm: Điều này giúp bộ nhớ cache không bị quá tải khi có một số lượng lớn bản ghi I/ O xảy ra.

– Điểm bất lợi là dữ liệu không được lưu trữ trừ khi nó được đọc từ bộ nhớ. Như vậy, hoạt động đọc ban đầu sẽ tương đối chậm vì dữ liệu chưa được lưu trữ (chưa được cache).

4.2. Write-through cache là gì?

      Write-through cache ghi đè dữ liệu vào cả bộ nhớ cache và bộ nhớ storage.

– Ưu điểm của phương pháp này là dữ liệu mới được viết luôn được lưu trữ, cho phép dữ liệu đó luôn được đọc nhanh chóng.

– Một nhược điểm là các hoạt động ghi không được coi là hoàn thành cho đến khi dữ liệu được ghi vào cả bộ nhớ cache và bộ lưu trữ chính (primary storage). Điều này khiến quá trình lưu trữ cache write-through gây ra độ trễ các hoạt động ghi.

4.3. Write-back cache là gì?

     Bộ nhớ đệm ghi lại (Write-back cache) tức toàn bộ các hoạt động ghi đều được chuyển trực tiếp đến bộ nhớ cache. Sự khác biệt duy nhất của Write-back cache đó là khi dữ liệu được lưu trữ, thao tác ghi mới được xem là hoàn chỉnh. Dữ liệu sau đó được sao chép từ bộ nhớ cache vào bộ nhớ (storage). Theo hướng tiếp cận này, sẽ luôn tồn tại một ít độ trễ cho cả hoạt động đọc và ghi. 

      Điểm bất lợi là, tùy thuộc vào cơ chế bộ nhớ đệm nào được sử dụng, dữ liệu có thể dễ dàng bị mất cho đến khi nó được lưu trữ (committed to storage).

5. Các trường hợp sử dụng cache phổ biến 

5.1. Máy chủ bộ nhớ cache (Cache server)

      Một dedicated network server (máy chủ mạng chuyên dụng), hoặc dịch vụ hoạt động với tư cách máy chủ (service acting as a server), lưu các webpage hoặc các nội dung Internet khác cục bộ. Điều này đôi khi được gọi là bộ nhớ cache proxy (proxy cache).

Cache là gì? Vai trò và phân loại cache - Ảnh 2.

5.2. Bộ nhớ cache trên đĩa (Disk cache)

      Disk cache giữ các dữ liệu gần đây đã được đọc và cả các vùng dữ liệu liền kề liên quan, có nhiều khả năng sắp được truy cập. Một số Disk cache được thiết kế để lưu trữ dữ liệu dựa trên tần suất được đọc của chúng. Các khối lưu trữ (Storage blocks) được đọc thường xuyên, sẽ được gọi là các khối nóng (hot blocks) và tự động được chuyển vào cache.

5.3. Bộ nhớ cache (Cache memory)

      Bộ nhớ truy cập ngẫu nhiên (RAM, Random access memory) là bộ nhớ mà bộ vi xử lý máy tính có thể truy cập nhanh hơn so với bộ nhớ RAM thông thường. Cache memory thường được gắn trực tiếp với CPU và được sử dụng để lưu trữ các lệnh thường xuyên được truy cập bởi các tiến trình hiện đang chạy. Mặc dù RAM cache (bộ đệm RAM) nhanh hơn nhiều so với bộ nhớ cache dựa trên đĩa (disk-based cache), thì cache memory vẫn nhanh hơn nhiều so với RAM cache vì nó gần với CPU.

5.4. Thiết bị nhớ flash (Flash cache)

Cache là gì? Vai trò và phân loại cache - Ảnh 3.

      Lưu trữ tạm thời dữ liệu trên chip bộ nhớ flash NAND – thường ở dạng lưu trữ SSD (solid-state drive) – cho phép yêu cầu dữ liệu được đáp ứng với tốc độ cao hơn so với bộ nhớ cache một ổ đĩa cứng truyền thống (HDD, hard disk drive).

6. Làm cách nào để tăng cache memory (bộ nhớ đệm)

      Bộ nhớ cache (Cache memory) là một phần của phức hợp CPU, do đó nó được đưa vào chính CPU hoặc được nhúng vào một con chip trên bo mạch hệ thống (system board). Thông thường, cách duy nhất để tăng bộ nhớ cache là cài đặt một bo mạch hệ thống thế hệ tiếp theo (next-generation) và một CPU next-gen tương ứng. Một số bo mạch hệ thống cũ có chứa các khe trống, có thể được sử dụng để tăng dung lượng bộ nhớ cache, tuy nhiên hầu hết các bo mạch hệ thống mới ngày nay lại không bao gồm khe trống này.

7. Kiến thức bổ sung về buffer và cache

      Buffer (vùng đệm) giống như cache (bộ nhớ đệm), cũng là một nơi tạm thời cho dữ liệu. Tuy nhiên, mục đích chính của vùng đệm buffer là để hấp thụ các nhu cầu cao (demand spikes). Ví dụ, bộ đệm ghi (write buffer) có thể sử dụng bộ nhớ flash (flash storage) để lưu trữ tạm thời các thao tác ghi và sau đó di chuyển dữ liệu được ghi gần đây vào bộ nhớ chính (main storage) của hệ thống khi tài nguyên có sẵn trở nên dễ dàng hơn. Trong tình huống này, lưu trữ SSD nhanh hơn lưu trữ HDD và có thể hoàn thành quá trình ghi nhanh hơn. Dữ liệu không được lưu trữ trên SSD, vì SSD chỉ được sử dụng làm kho lưu trữ dữ liệu tạm thời.

      Mong rằng với bài viết này, bạn đã có được những thông tin cần thiết. Chúc các bạn thành công!

______

Tin Liên quan

5 lợi ích chính của việc sử dụng CDN cho trang web WordPress

5 lợi ích chính của việc sử dụng CDN cho trang web WordPress

Nhiều người hiện đang chọn lưu trữ các tài nguyên trang web của họ trên mạng phân phối nội dung...

Lịch sử sơ lược về CDN

Lịch sử sơ lược về CDN

CDN đã được tạo ra cách đây gần 20 năm để giải quyết thách thức trong việc đẩy một lượng...

CDN nhận dạng theo Location và theo RUM

CDN nhận dạng theo Location và theo RUM

Chúng ta không thể phủ nhận được tầm quan trọng của CDN. Bởi CDN giúp tăng tốc website đồng thời...

Ảnh hưởng của liên kết chuyển hướng tới tốc độ website

Ảnh hưởng của liên kết chuyển hướng tới tốc độ website

Tốc độ tải trang không chỉ bị ảnh hưởng bởi hình ảnh, video, text mà còn bởi những yếu tố...

Tốc độ của website ảnh hưởng như thế nào đến doanh thu?

Tốc độ của website ảnh hưởng như thế nào đến doanh thu?

Bài viết dưới đây sẽ bàn luận về Tốc độ của website ảnh hưởng như thế nào đến doanh thu? Theo...

https://techvccloud.mediacdn.vn/zoom/650_406/2019/10/10/streaming-as-a-service-saas-1570693309826166944280-crop-1570693315540132021512.jpg

Công nghệ truyền phát video trực tuyến trên nền tảng đám mây

Streaming as a Service là gì?       Công nghệ truyền phát video trực tuyến hay Streaming as a...

Tìm hiểu buffer là gì?

Tìm hiểu buffer là gì?

Định nghĩa Buffer? – Buffer là vùng lưu trữ dữ liệu tạm thời trong thời gian chờ để chuyển đến...

Live Streaming là gì? Lợi ích và tác dụng của Live Streaming - Ảnh 1.

Live Streaming là gì? Lợi ích và tác dụng của Live Streaming

Nội Dung1. Live Streaming là gì?2. Ai nên sử dụng Live Streaming?3. Lợi ích của Live Streaming? 1. Live Streaming là gì?  ...