Cache là gì? Làm sao để sử dụng Cache hiệu quả nhất để tăng tốc độ truy cập Website. Ngoài ra, bài viết này còn hướng dẫn xóa Cache trên tất cả các trình duyệt từ máy tính cho đến điện thoại rất đơn giản. Hãy cùng Mắt Bão tìm hiểu ngay.
1. Cache là gì?
Đồng hành với Cache, độc giả cũng cần nắm rõ khái niệm Caching là gì? Tiếp tục cùng Mắt Bão tìm hiểu nhé!
Việc Caching là lưu trữ dữ liệu vào cache dưới dạng mã nhị phân. Nó sẽ giúp người dùng rút ngắn thời gian truy cập, giảm độ trễ và thực hiện các thao tác trên ứng dụng/website/hệ điều hành thuận tiện, nhanh chóng hơn.
Thuật toán Cache (Cache Algorithms) là gì?
Thuật toán cache đưa ra những hướng dẫn cụ thể về cách duy trì bộ nhớ đệm cache. Dưới đây là một số ví dụ tiêu biểu về thuật toán cache:
LFU (Least Frequently Used): Ít được sử dụng thường xuyên nhất
Đếm và theo dõi tần suất truy cập của người dùng đối với các mục. Mục nào có số lần truy cập thấp nhất sẽ được xóa trước.
LRU (Least Recently Used): Ít sử dụng gần đây nhất
Các mục dữ liệu trong cache được sắp xếp thứ tự theo thời điểm truy cập. Khi đạt đến giới hạn lưu trữ của bộ nhớ cache, các mục được truy cập cách đây lâu nhất (nằm ở top cuối) sẽ bị xóa, chỉ giữ lại các mục thuộc top đầu (được truy cập gần đây).
MRU (Most Recently Used): Gần đây nhất được sử dụng
Ưu tiên xóa các mục được sử dụng gần đây nhất. Thuật toán cache này rất hữu ích vì các mục cũ hơn thường có nhiều khả năng nhận được lượng truy cập lớn hơn.
2. Tại sao Web Cache quan trọng?
Bộ nhớ đệm giúp tăng tốc độ Load Website đáng kể. Khi được sử dụng đúng cách, nó sẽ không chỉ giúp thời gian tải nhanh hơn đáng kể mà còn giảm tải trên máy chủ của bạn.
Tôi nghĩ rằng để hiểu quy trình lưu vào bộ nhớ đệm, bạn hãy xem cách một trang được Load. Giả sử bạn sở hữu một Blog có bật bộ nhớ đệm. Lần đầu tiên ai đó truy cập trang chủ của bạn, họ truy cập trang theo cách bình thường. Máy chủ sẽ nhận yêu cầu, xử lý và kết quả trang Web hiển thị sẽ được chuyển thành tệp HTML và được gửi đến trình duyệt Web của khách truy cập. Vì bộ nhớ đệm được bật, máy chủ sẽ lưu trữ tệp HTML này – thường nằm trong RAM, tốc độ này cực kỳ nhanh.
Lần tới khi bạn hoặc bất kỳ ai khác xem trang chủ, máy chủ không cần thực hiện quá trình xử lý và chuyển đổi sang HTML. Thay vào đó, nó chỉ gửi tệp HTML đã được chuẩn bị sẵn đến trình duyệt. Điều này giúp khách truy cập không phải đợi lâu để Load trang. Đồng thời, trang Web cũng sử dụng ít băng thông hơn. Nếu bạn có nguồn lực hạn chế thì đây là điều đặc biệt tốt.
3. Các loại Cache hiện nay là gì?
Cache được chia thành 3 loại chính. Hãy cùng Mắt Bão tìm hiểu chi tiết về khái niệm và những ưu nhược điểm của từng loại Cache dưới đây:
Write-around cache
Write-through cache
Write-back cache
3.1 Write-around cache là gì?
Write-around cache có khả năng ghi lại các hoạt động trực tiếp vào bộ nhớ, hoàn toàn bỏ qua cache.
Ưu điểm
Giúp bộ nhớ đệm cache không bị quá tải khi có quá nhiều bản ghi I/O (Input/Output) được thực hiện cùng lúc.
Nhược điểm
Dữ liệu sẽ không được lưu trữ, trừ khi nó được truy xuất từ bộ nhớ. Điều này khiến cho hoạt động truy cập lúc đầu sẽ tương đối chậm.
3.2 Write-through cache là gì?
Khi thực hiện kỹ thuật write-through cache, dữ liệu sẽ được ghi đè lên cả bộ nhớ đệm cache và bộ nhớ storage.
Ưu điểm
Dữ liệu luôn được lưu trữ tạm thời nên việc xuất/đọc dữ liệu rất nhanh chóng, tiện lợi.
Nhược điểm
Thời gian lưu trữ khá dài. Lý do là vì các hoạt động ghi chỉ được coi là hoàn tất khi dữ liệu đã được ghi trên cả cache và bộ nhớ chính (primary storage). Việc này vô tình chung gây trễ nãi cho quá trình lưu trữ, ghi nhớ dữ liệu.
3.3 Write-back cache là gì?
Write-back cache (bộ nhớ đệm ghi lại) là kỹ thuật cho phép chuyển toàn bộ các hoạt động sang bộ nhớ cache. Với write-back cache, thao tác ghi sẽ được xem là hoàn chỉnh khi các dữ liệu được lưu trữ trên cache. Sau đó, các dữ liệu này sẽ tiếp tục được sao chép từ cache sang bộ nhớ chính.
Ưu điểm
Dữ liệu được lưu trữ trên cache nên tốc độ truy cập, hiệu năng của web/ứng dụng được cải thiện.
Nhược điểm
Mức độ an toàn thông tin sẽ phụ thuộc rất lớn vào cơ chế bộ nhớ cache được sử dụng. Dữ liệu có thể bị mất trước khi được lưu trữ vào bộ nhớ chính.
4. Các thuật toán điều khiển Cache
Tôi sẽ lên danh sách 3 thuật toán điều khiển Cache cơ bản nhất mà bạn cần nắm:
Least Recently Used (LRU): Đây là thuật toán lưu trữ dữ liệu được truy cập gần đây gần đầu bộ đệm. Các dữ liệu được truy cập gần đây nhất sẽ bị xóa khi bộ đệm đạt đến giới hạn.
Least Frequently Used (LFU): Nếu muốn theo dõi tần suất truy cập một dữ liệu, bạn sẽ cần đến thuật toán này. Các dữ liệu có số lần truy cập thấp nhất sẽ được loại bỏ sớm nhất.
Most Recently Used (MRU): Được dùng để loại bỏ các dữ liệu truy cập gần đây nhất đầu tiên. Khi các dữ liệu cũ có khả năng được sử dụng nhiều, bạn nên dùng thuật toán này.
5. Khi nào sử dụng Cache?
Để hiểu rõ hơn những trường hợp nên sử dụng Cache. Hãy cùng Mắt Bão tìm hiểu chi tiết về 4 khái niệm:
Cache memory (Cache bộ nhớ)
Cache server (Bộ nhớ cache máy chủ)
Disk cache (Bộ nhớ cache trên đĩa)
Flash cache (Thiết bị nhớ flash)
5.1 Cache memory (Cache bộ nhớ) là gì?
Cache memory thường được gắn trực tiếp trên CPU. Nó có khả năng lưu trữ lệnh/chức năng thường được yêu cầu bởi các chương trình đang chạy, giúp bộ vi xử lý máy tính truy cập dữ liệu nhanh hơn so với RAM thông thường. Nếu xét về khả năng truy xuất thì cache memory có tốc độ rất nhanh (hơn hẳn disk cache và cả RAM cache) vì vị trí của nó gần với CPU nhất.
5.2 Cache server (Bộ nhớ cache máy chủ) là gì?
Thông thường, các máy chủ kết nối mạng chuyên dụng (dedicated network server) hoặc dịch vụ hoạt động như máy chủ (service acting as server) sẽ lưu trữ dữ liệu trang web và các nội dung internet một cách cục bộ. Hình thức lưu trữ này gọi là cache server hay cache proxy.
5.3 Disk cache (Bộ nhớ cache trên đĩa) là gì?
Disk cache ghi nhớ các nội dung đã được đọc trong thời gian gần và những dữ liệu liền kề khác có khả năng sẽ được truy cập lại. Nhiều disk cache lưu trữ dữ liệu theo tần suất đọc. Theo đó, những khối lưu trữ (storage block) truy cập thường xuyên (gọi là các khối nóng – hot block) sẽ tự động được ghi nhớ trên cache. Disk cache giúp cải thiện tốc độ đọc hoặc ghi dữ liệu lên đĩa cứng.
5.4 Flash cache (Thiết bị nhớ flash) là gì?
Flash cache là thiết bị lưu trữ tạm thời dữ liệu trên chip bộ nhớ NAND (thường lưu trữ dưới dạng SSD). Nó có khả năng truy xuất dữ liệu với tốc độ cao hơn so với bộ nhớ cache trên ổ đĩa truyền thống HDD.
6. Web cache hoạt động như thế nào?
Web cache là bộ nhớ đệm trên website có chức năng lưu trữ tạm thời các nội dung tĩnh thường được truy cập. Theo đó, Web cache sẽ giảm thiểu các yêu cầu về băng thông, độ trễ và tăng tốc độ duyệt web. Nhờ nó, tài nguyên trên trang web được giải phóng hiệu quả trong khi hiệu suất người dùng được cải thiện tối ưu.
Cách hoạt động của web cache khá đơn giản. Thông thường dữ liệu được lưu trữ trên bộ nhớ hệ thống (ví dụ đối với môi trường internet thì đó là hosting). Nhưng nếu sử dụng cache thì các dữ liệu này sẽ được ghi nhớ tại đây để truy xuất nhanh hơn mà không cần phải thông qua bộ nhớ chính nữa.
7. Dữ liệu cache được lưu trữ ở đâu?
Các dữ liệu của cache có thể được lưu trữ ở nhiều nơi khác nhau trên server, giữa các webserver hoặc giữa các client. Nhìn chung, có 3 vị trí lưu trữ cache như sau:
7.1 Browser cache là gì?
Các trình duyệt web như Firefox, Google Chrome, Safari,… đều có bộ nhớ đệm cache riêng (browser cache) để cải thiện hiệu suất cho các trang web thường xuyên được truy cập. Khi người dùng vào 1 webpage, các dữ liệu của trang đó sẽ được lưu trữ trong cache trên trình duyệt của máy tính. Nếu người dùng nhấn vào nút “back” để quay trở lại, trình duyệt gần như lập tức sẽ hiển thị các dữ liệu đã lưu lại từ bộ nhớ cache. Cách tiếp cận này là read cache (đọc cache). Với cách tiếp cận này, bạn sẽ rút ngắn được tăng tốc độ phản hồi của trình duyệt lên gấp nhiều lần.
Browser Cache hiện là nơi lưu trữ dữ liệu webpage phổ biến nhất. Nó giới hạn cho 1 người dùng và cá nhân hóa các dữ liệu được trả về.
7.2 Proxy cache là gì?
Trong khi browser cache chỉ được ứng dụng cho một người dùng duy nhất thì proxy cache có thể đáp ứng nhu cầu cho hàng trăm user truy xuất cùng 1 nội dung. Proxy cache được cài đặt và vận hành bởi ISPs (Internet Service Providers). Hình thức lưu trữ này giúp tận dụng tài nguyên phần cứng một cách tối đa. Khi thực hiện proxy cache, bạn có thể lấy bất kỳ máy chủ nào nằm giữa client và server website để cache dữ liệu.
7.3 Gateway cache (reverse proxy cache) là gì?
Khác với proxy cache (được ISPs cài đặt để giảm băng thông), gateway cache được đặt gần với origin server với mục đích giúp giảm tải lên server. Gateway cache được triển khai theo mô hình máy chủ 2 lớp. Trong đó, 1 lớp có vai trò là front end (xử lý các file tĩnh như html, css,…), còn 1 lớp giữ nhiệm vụ back end (xử lý các nội dung động – dynamic content).
Gateway cache được cài đặt bởi quản trị viên nên chúng ta có thể kiểm soát và điều khiển được nó, hoàn toàn ngược lại với browser cache và proxy cache.
8. Có nên xóa Cache không?
Việc xóa bộ nhớ đệm được thực hiện nhằm mục đích phổ biến là giúp đặt lại ứng dụng về trạng thái mặc định khi có khó khăn trong quá trình sử dụng. Hoặc khi ứng dụng bị lỗi tôi cũng thường xóa Cache để đặt lại trạng thái mặc định cho ứng dụng.
Một lý do khác mà tôi khuyên bạn nên xóa Cache là để tiết kiệm không gian lưu trữ. Một số ứng dụng tốn đến hàng GB để lưu trữ dữ liệu. Nhưng bạn lại không còn cần sử dụng nó nữa. Nếu vậy, tôi khuyên bạn nên xóa chúng ngay để giải phóng dung lượng cho bộ nhớ máy.
Bên cạnh đó, nếu bạn gặp các trường hợp sau đây thì tôi cũng kiến nghị bạn nên xóa bộ nhớ đệm:
Bạn cần bảo vệ sự riêng tư, phải xóa các File có chứa thông tin cá nhân.
Ứng dụng bị lỗi, hoạt động sai cách do các tập tin Cache của ứng dụng bị hỏng.
Bạn không muốn xóa ảnh, Video, ảnh và ứng dụng trên điện thoại nhưng lại sắp hết dung lượng lưu trữ trên điện thoại.
Ngoài ra, tôi muốn lưu ý với bạn rằng việc xóa Cache sẽ không gây ra bất kỳ trở ngại, lỗi gì. Tuy nhiên, nếu bạn xóa bộ nhớ đệm thì vào lúc tiếp theo mà thiết bị cần, hệ thống sẽ phải khởi tạo lại những File này. Vì vậy, tôi nghĩ bạn không nên xóa bộ nhớ đệm của hệ thống nhất thường xuyên nếu không có lý do gì cần thiết.
9. Cache với RAM
Để giảm độ trễ thời gian phản hồi, RAM và Cache Memory đều đặt dữ liệu gần Processor. Bộ nhớ đệm của RAM thường sẽ bao gồm bộ nhớ vĩnh viễn. Chúng được nhúng trên bo mạch chủ, các mô-đun bộ nhớ có thể được cài đặt trong các vị trí đính kèm hoặc khe cắm chuyên dụng hoặc.
Cache Memory thường là một phần của CPU. Hoặc nó có thể là một phần của phức hợp CPU và Chipset liền kề nơi bộ nhớ. Chúng được sử dụng để chứa các dữ liệu thường xuyên truy cập.
Bộ nhớ đệm của CPU chỉ cần vài Nano giây để đáp ứng yêu cầu của CPU. Tốc độ này nhanh hơn từ 10 – 100 lần so với RAM. Tuy nhiên, Cache RAM Memory cung cấp I/O với tốc độ tính bằng Mili giây và có tốc độ nhanh hơn thời gian đáp ứng so với các thiết bị nhớ cổ điển.
9. Cache với Buffer
Buffer cho phép mỗi quá trình hoặc thiết bị hoạt động không bị trì hoãn bởi các thiết bị khác. Đây là khu vực dùng chung nơi các chương trình hoặc thiết bị phần cứng hoạt động với các ưu tiên khác nhau ở tốc độ khác nhau có thể tạm thời lưu trữ dữ liệu.
Cả Cache và Buffer đều sử dụng các thuật toán để kiểm soát sự di chuyển của dữ liệu vào và ra khỏi khu vực giữ dữ liệu. Chúng cũng cung cấp vị trí tạm thời cho dữ liệu.
Tuy nhiên, sự khác biệt mà tôi muốn lưu ý với bạn đó là Buffer giữ dữ liệu tạm thời nhằm cho phép các quy trình và thiết bị hoạt động tách biệt với nhau. Còn Cache giữ dữ liệu để tăng tốc quá trình và hoạt động.
11. Ưu điểm của web caching là gì?
Web caching có các lợi ích chính như sau:
Giảm tải băng thông: Sử dụng web caching giúp tránh sự lặp lại không cần thiết của các hoạt động mạng (request – response), từ đó giúp giảm một lượng lớn băng thông bị client chiếm dụng.
Cải thiện tốc độ: Việc lưu trữ dữ liệu cache truy xuất các yêu cầu của người dùng gần như tức thời, tăng năng suất hoạt động của trang web.
Giảm gánh nặng cho server: Bộ nhớ đệm cache “gánh” bớt một phần dữ liệu cho server và giúp máy chủ xử lý một số yêu cầu của client gửi đến.
Đáp ứng nhu cầu truy cập lớn: Các gói thuê hosting hỗ trợ cache thường sẽ đáp ứng được lưu lượng truy cập lớn (có thể chịu được gấp 3-4 lần các gói hosting thông thường không có cache).
12. Các hình thức Caching là gì?
Về cơ bản, có 4 hình thức caching, đó là:
HTML caching
Opcode caching
Object caching
Database caching
HTML caching là gì?
Đây là hình thức caching đơn giản và phổ biến nhất hiện nay và được áp dụng cho hầu hết tất cả các trang web. Với hình thức caching này, các nội dung trên trang web sau khi được gửi tới người dùng sẽ được lưu trữ tạm thời dưới dạng một file HTML tĩnh và cất giữ tại ổ cứng máy chủ.
HTML caching được cấu hình để tự động tái sử dụng dữ liệu thay vì phải xử lý yêu cầu lại từ đầu. Kỹ thuật này sẽ đặc biệt hiệu quả đối với các trang web có số lượng file hình ảnh, css, js lớn.
Opcode caching là gì?
Vì có đặc điểm là ngôn ngữ thông dịch nên thường thì tốc độ của các website được lập trình theo ngôn ngữ PHP sẽ không nhanh như các mã nguồn khác. Do đó, Opcode caching đã được tạo ra để giúp gia tăng hiệu suất phân tích và biên dịch cho website PHP.
Với kỹ thuật này, code sau khi được biên dịch sẽ được lưu trữ cache tại ổ đĩa cứng hoặc RAM để tái sử dụng sau đó. Lợi ích của Opcode caching là giúp tăng tốc độ xử lý truy vấn cho website PHP nếu bottleneck gặp vấn đề tại CPU.
Object caching là gì?
Đây là hình thức caching được dùng để hỗ trợ riêng cho các website WordPress. Object caching được thực hiện thông qua câu lệnh wp_cache. Nó giúp lưu trữ các đối tượng query, session hoặc bất cứ mục dữ liệu nào được xử lý bằng code PHP.
Database caching là gì?
Kỹ thuật database caching được dùng để lưu trữ các truy vấn dữ liệu phổ biến trên bộ nhớ RAM. Dữ liệu sau khi được lưu trữ cache sẽ lập tức hồi đáp kết quả cho người dùng trong những lần truy vấn sau.
13. Một số cách giúp tăng Cache Memory
Tiếp đến, tôi sẽ hướng dẫn tăng Cache Memory. Bộ nhớ Cache sẽ được nhúng vào một con Chip tại bo mạch hệ thống (System Board) hoặc đưa vào CPU. Bình thường, tôi tăng bộ nhớ Cache bằng cách thực hiện cài đặt một bo mạch hệ thống ở thế hệ tiếp theo, đồng thời là một CPU Next-Gen tương ứng.
Bạn có thể dễ dàng ứng dụng các khe trống của một số bo mạch ở hệ thống cũ để giúp việc tăng thêm dung lượng Cache Memory. Nhưng trong thực tế, các khe trống này hầu như không còn nữa. Do đó, có thể nói việc tăng Cache Memory không thực sự dễ dàng.
15.1 Cách xóa bộ nhớ cache trên trình duyệt máy tính
Tùy thuộc vào trình duyệt bạn sử dụng mà sẽ có những cách xóa cache khác nhau. Dưới đây, chúng tôi sẽ hướng dẫn bạn cách xóa bộ nhớ cache trên các trình duyệt phổ biến là: Chrome, Firefox, Safari và Microsoft Edge.
Xóa cache trên Chrome
Bước 1: Click chuột vào biểu tượng (3 chấm dọc) trên thanh menu -> Chọn mục History -> History.
Bước 2: Chọn mục Clear browsing data…
Bước 3: Chọn thời gian (24h ago, 7 days ago, all time,…), loại dữ liệu (cache, cookies, history) muốn xóa.
Bước 4: Click vào nút Clear data để hoàn tất dữ liệu.
Xóa cache Firefox
Bước 1: Click vào biểu tượng 3 gạch trên thanh menu -> Chọn Library -> History -> Clear Recent History.
Bước 2: Chọn thời gian và các loại dữ liệu muốn xóa.
Bước 3: Nhấn nút Clear now để xóa dữ liệu cache.
Xóa cache Safari
Bước 1: Di chuyển đến tab History trong thanh menu ngay phía trên trình duyệt -> Chọn Clear History.
Bước 2: Chọn thời gian (nếu muốn xóa hết toàn bộ dữ liệu, chọn All history).
Bước 3: Nhấn nút Clear History để hoàn tất việc xóa dữ liệu. Lưu ý, Safari không cho phép lựa chọn loại dữ liệu mà bắt buộc user phải xóa tất cả lịch sử, cache, cookies.
Xóa cache Microsoft Edge
Bước 1: Click vào biểu tượng dấu … trên thanh menu, phía bên phải -> Chọn History -> Clear History.
Bước 2: Chọn các mục dữ liệu muốn xóa bên dưới tab Clear browsing data.
Bước 3: Nhấn nút Clear để xóa dữ liệu.
Bạn có thể bật on chế độ “Always clear this when I close the browser” để hệ thống tự động xóa cache mỗi khi trình duyệt đóng lại.
Lưu ý, đối với tất cả các trình duyệt trên, bạn có thể đến trang xóa cache nhanh bằng cách dùng tổ hợp phím tắt:
Ctrl + Shift + Delete (nếu dùng hệ điều hành Windows)
Command + Shift + Delete (nếu dùng Mac OS)
15.2 Cách xóa bộ nhớ cache trên di động
Cách xóa browser cache trên di động cũng tương tự như desktop. Dưới đây là các hướng dẫn chi tiết cách xóa Cache đối với di động trên các trình duyệt Chorme, Firefox trên Android, iOS và Safari trên iOS:
Google Chrome (Android)
Bước 1: Mở trình duyệt Chrome, nhấn vào biểu tượng (3 chấm dọc) trên thanh menu -> Chọn mục History.
Bước 2: Chọn Clear Browsing Data…
Bước 3: Chọn thời gian, các loại dữ liệu (history, cookies, cache) bạn muốn xóa.
Bước 4: Nhấn nút Clear Data để xóa dữ liệu.
Google Chrome (iOS)
Các thao tác xóa dữ liệu duyệt web của Chrome trên iOS cũng tương tự như trên Android. Tuy nhiên, với iOS, Chrome không cho lựa chọn phạm vi thời gian lưu trữ.
Xóa browser cache trên di động dùng hệ điều hành iOS
Mozilla FireFox (Android)
Bước 1: Nhấn vào biểu tượng (3 chấm dọc) trên thanh menu -> Chọn mục History.
Bước 2: Nhấn nút Clear Browsing History ngay phía dưới màn hình.
Bước 3: Hệ thống hiển thị một pop-up hỏi xem bạn có chắc chắn muốn xóa dữ liệu không. Nhấn nút OK để xác nhận lại lần nữa.
Mozilla Firefox (iOS)
Bước 1: Mở thanh menu ở góc dưới, bên phải -> Chọn Settings.
Bước 2: Cuộn trang xuống, tìm và chọn mục Clear Private Data.
Bước 3: Đánh dấu chọn loại dữ liệu muốn xóa (cookies, history, cache).
Bước 4: Nhấn vào nút Clear Private Data để xóa dữ liệu.
Bước 5: Màn hình hiển thị 1 pop-up để thông báo về việc sẽ xóa dữ liệu. Nhấn nút OK.
Safari (iOS)
Bước 1: Đến phần Setting của thiết bị di động
Bước 2: Tìm và mở mục Safari lên.
Bước 3: Cuộn trang xuống và chọn mục Clear History and Website Data.
Bước 4: Hệ thống hiển thị pop-up thông báo. Bấm nút Clear History and Data để xác nhận xóa mọi loại cache.
Nên lưu ý rằng bạn không cần phải xóa cache hằng ngày vì browser có khả năng ghi đè cache tự động. Chỉ trong các trường hợp trình duyệt chạy chậm hoặc website không hiển thị đúng nội dung yêu cầu thì mới cần phải xóa cache.