Nguon: Microsoft Learn · .NET 8.0

Distributed Cache Tag Helper (Tag Helper Bộ nhớ đệm phân tán) trong ASP.NET Core

Nguồn: Distributed Cache Tag Helper in ASP.NET Core

Tác giả: Peter Kellner

Distributed Cache Tag Helper cung cấp khả năng cải thiện đáng kể hiệu suất ứng dụng ASP.NET Core bằng cách lưu nội dung vào distributed cache (bộ nhớ đệm phân tán).

Để có tổng quan về Tag Helpers (trợ giúp thẻ), xem Tag Helpers in ASP.NET Core.

Distributed Cache Tag Helper kế thừa từ cùng lớp cơ sở như Cache Tag Helper. Tất cả các thuộc tính của Cache Tag Helper đều có thể sử dụng với Distributed Tag Helper.

Distributed Cache Tag Helper sử dụng constructor injection (tiêm phụ thuộc qua constructor). Interface IDistributedCache được truyền vào constructor của Distributed Cache Tag Helper. Nếu không có implementation (triển khai) cụ thể nào của IDistributedCache được tạo trong file Program hoặc Startup.ConfigureServices (Startup.cs), Distributed Cache Tag Helper sẽ sử dụng cùng provider in-memory (trong bộ nhớ) như Cache Tag Helper để lưu trữ dữ liệu đã được cache.

Các thuộc tính của Distributed Cache Tag Helper

Thuộc tính dùng chung với Cache Tag Helper

Giá trị mặc định của thuộc tính expires-sliding là 30 giây nếu expires-afterexpires-on không được đặt. Ngược lại, giá trị mặc định là 20 phút khi sử dụng dịch vụ SQL Server caching.

Distributed Cache Tag Helper kế thừa từ cùng lớp với Cache Tag Helper. Để xem mô tả các thuộc tính này, xem Cache Tag Helper.

name

Kiểu thuộc tínhVí dụ
Stringmy-distributed-cache-unique-key-101

name là bắt buộc. Thuộc tính name được dùng làm khóa cho mỗi cache instance (phiên bản bộ nhớ đệm) được lưu. Khác với Cache Tag Helper – vốn gán khóa cache dựa trên tên trang Razor và vị trí trong trang Razor – Distributed Cache Tag Helper chỉ dùng thuộc tính name để làm khóa.

Ví dụ:

cshtml
<distributed-cache name="my-distributed-cache-unique-key-101">
    Time Inside Cache Tag Helper: @DateTime.Now
</distributed-cache>

Các implementation của IDistributedCache trong Distributed Cache Tag Helper

Có hai implementation của IDistributedCache được tích hợp sẵn trong ASP.NET Core: một dựa trên SQL Server và một dựa trên Redis. Các implementation của bên thứ ba cũng có sẵn, chẳng hạn như NCache. Cả hai đều cần thiết lập một instance của IDistributedCache trong file Program hoặc lớp Startup.

Không có thuộc tính tag nào được liên kết đặc biệt với bất kỳ implementation nào của IDistributedCache.

Để biết thêm thông tin, xem Distributed caching in ASP.NET Core.