Cache là gì? Disable Cache IIS Windows Server

2577

Bài viết được sự cho phép của BQT Kinh nghiệm lập trình

Chắc hẳn ai trong chúng ta cũng từng nghe qua từ khóa Cache. Vậy cache là gì? Vai trò của cache trong các hệ thống website như thế nào. Trong bài viết này mình sẽ giới thiệu tổng quan về Cache. Cuối bài mình chia sẻ 1 kinh nghiệm về việc disable cache/ tắt chế độ caching trên IIS của Windows Server.

  11 cách tăng tốc nhanh cho WordPress bằng file wp-conig.php
  3 cách xóa phần tử bị duplicate trong mảng

Cache là gì?

Trong tin học, cache được hiểu chung là bộ nhớ đệm. Tức là bộ nhớ tạm thời được sinh ra để phục vụ cho việc truy cập từ các ứng dụng khác trong 1 thời gian hữu hạn để sẵn sàng sử dụng lại 1 cách nhanh chóng. Thực tế cache là các dữ liệu trong phiên làm việc trước của ứng dụng, được lưu lại để việc thực hiện ở các phiên tiếp theo được nhanh hơn (nếu có sử dụng lại dữ liệu của phiên trước đó). Tuy nhiên cần lưu ý là cache có thể làm đầy dung lượng ổ cứng trên thiết bị của bạn.

Cache website hoạt động như thế nào?

Cache sinh ra giúp tăng tốc độ truy cập website ở các phiên tiếp theo. Web content có thể chia thành 2 loại chính

  • Static content: Là những nội dung không thay đổi/ít thay đổi qua các request lên server. Thông thường là các file tĩnh như Logo, tiêu đề, banner, hình ảnh, âm thành, video, css, js….
  • Dynamic content: Những dữ liệu thay đổi qua các request ví dụ như ASP content, PHP content, hay kết quả của các query. Tuy nhiên đôi khi ta cũng có thể caching lại dữ liệu này để tăng tốc độ website.

Lợi ích chính của Cache

Cache gần như là công nghệ không thể thiếu với website ngày nay. Sử dụng cache đem lại những lợi ích nổi bật sau:

  • Tăng tốc độ truy cập, dữ liệu được load ra gần như tức thời
  • Giảm thiểu băng thông tới server
  • Giảm thiểu tài nguyên CPU, RAM trên server
  • Có thể truy cập ngay cả khi không có internet
  • Đáp ứng lượng lớn truy cập với các hệ thống lớn

Caching trên IIS

Chi tiết cách cấu hình, theo dõi cache mình sẽ giới thiệu ở bài viết sau. Bài viết này mình xin chia sẻ kinh nghiệm sử dụng cache trên IIS của Windows server. Mặc định IIS đã hỗ trợ sẵn caching static content. IIS hỗ trợ 2 cơ chế đệm:

  • varyByQuerystring: Các truy vấn tương tự từ URL sẽ trả về kết quả giống nhau.
  • varybyHeaders: Thay đổi bộ nhớ đệm dựa vào HTTP Header được gửi từ Client tới Server

Config Output Caching trên IIS Manager

Cache có thể cấu hình một cách dễ dàng trên giao diện quản lý của IIS Manager như sau:

  • Click Start -> Administrative Tools -> Internet Information Services (IIS) Manager
  • Ở cột bên trái, chọn website bạn muốn cấu hình.
  • Chọn Output Caching
  • Ở cột bên phải, chọn Add ở menu Action
  • Ở ô File name extension, điền vào .php hoặc định dạng khác sau đó chọn User-mode caching
  • Chọn tiếp Advanced, sau đó tích vào Query string variable(s)
  • Tùy  chọn các biến của bạn ở ô này và Lưu lại

Disable caching trên IIS

Không thể phủ nhận các lợi ích tuyệt vời mà cache đem lại. Tuy nhiên trong 1 số trường hợp, việc server tự động cache cũng gây không ít phiền toái cho người sử dụng. Đôi khi không phù hợp với nhu cầu của người dùng. Dưới đây là cách tắt bỏ cơ chế cache trên IIS.

  • Đầu tiên, chọn website của bạn từ IIS Manager
  • Chọn Explore để tìm đến Web.config
  • Mở file Web.config ra và thêm đoạn cấu hình như dưới đây:

<staticContent>
<clientCache cacheControlMode=”DisableCache” />
</staticContent>

Như vậy là mình đã tắt bỏ cơ chế tự động caching static content trên website của bạn. Điều này rất hữu ích cho các bạn Developer trong quá trình xây dựng Website.

Trong bài viết tiếp theo, mình sẽ giới thiệu thêm các cách bật/tắt Cache ở nhiều phía khác nhau. Hi vọng mọi người đã có cái nhìn tổng quan hơn về Cache nói chung và Cache Website nói riêng.

Tham khảo:

https://docs.microsoft.com/en-us/iis/manage/managing-performance-settings/configure-iis-7-output-caching

kinhnghiemlaptrinh.com

Bài viết gốc được đăng tải tại kinhnghiemlaptrinh.com

Có thể bạn quan tâm:

Xem thêm Việc làm IT hấp dẫn trên TopDev