Tôi muốn lưu vào bộ nhớ cache các tác vụ nặng nề nhất trong cơ sở dữ liệu của mình trong trang web asp.net-mvc của tôi. Trong nghiên cứu của mình, tôi đã tìm thấy
- donut caching trên blog của Phil
- Bộ lọc lưu vào bộ nhớ đệm / nén trên blog của Kazi
- Podcast của Scott Hansleman về cách họ lưu trữ mọi thứ trong SO.
Nhưng tôi chưa cảm thấy mình hiểu.
Tôi muốn có thể lưu vào bộ nhớ cache yêu cầu ĐĂNG của mình tùy thuộc vào một số trình phân tích cú pháp. Các phân tích cú pháp này nằm trong một đối tượng. Vì vậy, tôi muốn lưu vào bộ nhớ cache kết quả của yêu cầu sau:
public ActionResult AdvancedSearch(SearchBag searchBag)
Trong đó searchBag là một đối tượng chứa (một loạt) các tham số tìm kiếm tùy chọn. Bản thân các quan điểm của tôi là nhẹ (đúng như vậy), nhưng việc truy cập dữ liệu có thể khá tốn thời gian, tùy thuộc vào trường nào được điền vào túi tìm kiếm.
Tôi có cảm giác rằng tôi nên lưu vào bộ nhớ đệm trên datalayer của mình, thay vì sau đó là hành động của tôi.
Làm cách nào để sử dụng VaryByParam trong thuộc tính OutputCache?