Cấp bậc tác giả:

TRAINING

Caching trong ASP.NET

Được viết bởi QuangIT ngày 24/03/2013 lúc 01:31 PM
Trong bài viết này, chúng ta sẽ xem Caching trong ASP.Net được sử dụng để cải thiện hiệu suất ứng dụng như thế nào.
  • 0
  • 13448

Caching trong ASP.NET

Caching có thể cải thiện hiệu suất ứng dụng. Caching là quan trọng trong ứng dụng web vì hiệu suất là một yếu tố quan trọng trong mọi ứng dụng web. 

Trong bài viết này, chúng ta sẽ xem Caching trong ASP.Net được sử dụng để cải thiện hiệu suất ứng dụng như thế nào. 

Tạo các ứng dụng web thường đòi hỏi mục lưu trữ trong bộ nhớ dễ dàng hơn để truy cập ngắn hơn khi có yêu cầu. Ví dụ, giả sử trang web được tạo ra lần đầu nó được yêu cầu và nếu chúng ta có thể tiết kiệm được sản sinh trang web được tạo ra sau đó chúng ta không cần tạo ra các đầu ra một lần nữa trong lần tới để tiết kiệm thời gian. 
Chúng ta có thể lưu trữ các mục trên máy chủ web hoặc một nơi khác chẳng hạn như các trình duyệt web. ASP.NET cung cấp nhiều kỹ thuật cho Caching. Nếu xuất trang ASP.Net mà chúng ta muốn lưu trữ thì chúng ta có thể sử dụng sản sinh bộ nhớ đệm. Để lưu trữ dữ liệu ứng dụng, chúng ta có thể sử dụng ứng dụng dữ liệu Caching. Cả hai loại bộ nhớ đệm giúp chúng ta tạo ra các ứng dụng web hiệu suất cao vì khi được tạo đầu ra hoặc dữ liệu không cần phải được tái tạo. Caching phù hợp hơn cho các danh mục được thay đổi thường xuyên. 

Sử dụng Application Data Caching chúng ta có thể lưu trữ bất kỳ dữ liệu tùy ý mà chúng ta muốn bộ nhớ cache bằng cách sử dụng name/value. Ứng dụng bộ nhớ cache tương tự như trạng thái ứng dụng nhưng được quản lý bởi bộ nhớ cache ứng dụng ASP.Net, ASP.Net tự động loại bỏ các mục từ ứng dụng bộ nhớ cache bất cứ khi nào chúng hết hiệu lực hoặc khi bộ nhớ thấp. Vì vậy chúng ta luôn luôn kiểm tra nếu mục trong bộ nhớ cache trước khi truy cập nó để đảm bảo rằng nó đã không được gỡ bỏ từ bộ nhớ cache. 

Lời gọi sau đây sẽ lưu trữ các phiên bản khác nhau của trang dựa trên giá trị chuỗi truy vấn trong 60 giây.

<%@ OutputCache VaryByParam="name" Duration="60"  %>

Thuộc tính khác chúng ta có thể sử dụng với OutputCache là:
  • VaryByParam để lưu trữ nhiều phiên bản xuất trang tùy thuộc vào chuỗi truy vấn.
  • VaryByControl để lưu trữ nhiều phiên bản xuất trang tùy thuộc vào giá trị điều khiển.
  • VaryByHeader để lưu trữ nhiều phiên bản xuất trang tùy thuộc vào yêu cầu của tiêu đề HTTP.
  • VaryByCustom để lưu trữ nhiều phiên bản xuất trang tùy thuộc vào chuỗi tùy chỉnh. Điều này rất hữu ích cho các kịch bản như lưu trữ nhiều phiên bản của trang tùy thuộc vào trình duyệt.
ASP.NET có thể tự động loại bỏ các dữ liệu từ bộ nhớ cache phụ thuộc vào các điều kiện sau đây:

  • Máy chủ bộ nhớ thấp.
  • Mục cache đã hết hiệu lực.
  • Sự phụ thuộc Cache.
Bộ nhớ cache hết hiệu lực

Khi thêm một mục vào bộ nhớ cache chúng ta có thể thiết lập khi hết hiệu lực bằng cách sử dụng hai chế độ khác nhau. 
  • Xác định hết hiệu lực tuyệt đối rằng item là phải lấy ra vào thời gian cố định. 
  • Xác định hết hiệu lực sliding khi nào để loại bỏ item sau khi nó được lần truy cập cuối cùng. 
Sự phụ thuộc cache

Khi thêm item trong bộ nhớ cache, chúng ta có thể xác định rằng vòng đời của item phụ thuộc vào thành phần khác như bảng trong cơ sở dữ liệu hoặc tập tin. Chúng ta có thể thực hiện sự phụ thuộc vào cơ sở dữ liệu bằng cách sử dụng lớp SqlCacheDependency và sử dụng lớp CacheDependency cho việc thực hiện phụ thuộc vào một tập tin hoặc bất cứ thành phần nào khác. 

Fragment Caching 

Đôi khi có những kịch bản mà chúng ta muốn để lưu trữ thay vì chỉ một phần của trang ASP.Net toàn bộ trang. Chúng ta có thể thực hiện các loại kịch bản như vậy sử dụng bộ nhớ đệm đoạn hoặc bộ nhớ đệm điều khiển. Đối với kịch bản như vậy, chúng ta xác định các phần của trang để tạo ra các điều khiển người dùng và đánh dấu người dùng điều khiển cache bằng cách sử dụng lệnh OutputCache.
 
Thay vì chỉ định cài đặt bộ nhớ cache trên mỗi trang ASP.Net, chúng ta có thể xác định chúng một lần trong các tập tin web.config trong phần outputCacheProfiles và áp dụng nó cho tất cả các trang chúng ta muốn thiết lập. Chúng ta có thể áp dụng cacheprofile vào các trang web cá nhân bằng cách sử dụng các thuộc tính CacheProfile.

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML