Tôi có một ứng dụng ASP.NET MVC 3 về cơ bản chỉ là một tập hợp các dịch vụ web. Các dịch vụ web này được hiển thị bởi một tập hợp các hành động của Bộ điều khiển. Mỗi hành động điều khiển truy vấn cơ sở dữ liệu của tôi. Bởi vì dữ liệu của tôi hiếm khi thay đổi và dữ liệu cũ không phải là mối quan tâm, tôi nghĩ tôi sẽ triển khai một số bộ đệm ẩn để cải thiện hiệu suất. Mục tiêu của tôi là:Caching Data trong ASP.NET MVC 3
- Không bao giờ nhớ lại phản hồi cho người dùng.
- Cache các bản ghi cơ sở dữ liệu trong tối đa 24 giờ. Nếu 24 giờ trôi qua, hãy nhấn lại vào cơ sở dữ liệu.
Điều đó có hợp lý không? Tôi biết cách ngăn chặn phản hồi từ bộ nhớ đệm. Tôi chỉ sử dụng các thông tin sau:
HttpContext.Response.Cache.SetCacheability(cacheability)
Tuy nhiên, tôi không chắc chắn cách lưu trữ bản ghi cơ sở dữ liệu trong bộ nhớ trong tối đa 24 giờ. Có ai có bất cứ đề nghị về làm thế nào để làm điều này? Tôi thậm chí không chắc chắn nơi để tìm.
Cảm ơn bạn
Bạn có đơn giản muốn lưu toàn bộ nội dung của bảng vào bộ nhớ hay bạn muốn lưu một phần bằng bộ nhớ cache LRU? – hatchet
Nó không có vẻ như bạn đang tìm kiếm một giải pháp được cung cấp bởi khung MVC. Khung MVC được thiết kế để tạo ra các phản hồi cho một người dùng và có thể lưu trữ các phản hồi đó bằng cách sử dụng thuộc tính OutputCache dựng sẵn. Vì bạn không muốn các câu trả lời được lưu trữ, bạn có thể muốn tìm một phương thức trừu tượng hơn để lưu các kết quả truy vấn không gắn với khung MVC (memcached, vv). – ken
Tôi muốn lưu toàn bộ nội dung của bảng vào bộ nhớ. Trên thực tế, trong instace của tôi, bảng của tôi đã được chuyển đổi thành các đối tượng CLR. Vì vậy, lý tưởng, tôi chỉ muốn cache các đối tượng. – user70192