2009-02-09 38 views
9

Tôi khá mới trong việc sử dụng khung ASP.NET MVC và hy vọng rằng tôi có thể tìm thấy một số trợ giúp về thực hành tốt nhất khi lưu vào bộ nhớ cache các phần khác nhau của ứng dụng web MVC của tôi. Tôi biết rằng tràn ngăn xếp sử dụng MVC và một số kỹ thuật lưu trữ bộ nhớ đệm tuyệt vời, và MILES của nó nhanh hơn ứng dụng của tôi, ngay cả khi chạy cục bộ.Caching trong ASP.NET MVC Framework

Tôi có một vài câu hỏi.

  1. Cách bộ nhớ đệm thực sự hoạt động và cách bạn "bật" bộ nhớ đệm và các tùy chọn khác nhau là gì. Loại bộ nhớ đệm tốt nhất để sử dụng là gì?

  2. Ứng dụng của tôi có rất nhiều giao dịch cơ sở dữ liệu, danh sách thường xuyên thay đổi. Tôi lo lắng về tính kịp thời của việc làm mới trang, ở những người dùng không nhận được phiên bản dữ liệu mới nhất. Whats cách tốt nhất để đạt được sự cân bằng giữa tốc độ ứng dụng web và hiển thị dữ liệu "cập nhật" là gì? Bạn đã tìm thấy những phương pháp hay nhất nào khi phải giải quyết vấn đề này?

  3. Làm cách nào để lưu bộ nhớ cache các phần khác nhau (tôi giả định chế độ xem) với các cài đặt bộ nhớ đệm khác nhau? Tôi cho rằng nó có thể được thực hiện với các bộ điều khiển phụ, nhưng tôi có NFI làm thế nào để làm điều này.

  4. Tôi đang sử dụng tích hợp Castle.Windor cho bộ điều khiển, tôi không chắc liệu điều này có thay đổi gì không.

  5. Bất kỳ phương pháp hay nhất khác về ghi chú về những điều cần thận trọng/cẩn thận sẽ được đánh giá cao.

Trả lời

3

Bạn có thể muốn xem Phil Haack post đối với một số bộ nhớ đệm trong bộ nhớ đệm. Anh ấy là tài liệu tham khảo cho ASP.NET MVC :)

+0

Ngoài ra còn có Stephen Walther và những người khác trên ASP.NET MVC. Nó không chỉ là haacked. –

+0

Yeah ... nhưng không có ai ồn ào như Phil Haack. Có lẽ Jeff Atwood đã đánh bại anh ta về điều ồn ào. Nhưng kia là nó. –

1

Bạn có thể dễ dàng lưu vào bộ nhớ cache chế độ xem bằng thuộc tính OutputCache. Bất kỳ danh sách không được cập nhật thường xuyên nào tôi cũng lưu bộ nhớ cache cũng như sử dụng các cơ chế lưu trữ nHibernate.

2

Từ quan điểm "thực hành tốt nhất", bạn sẽ cần cân nhắc những điều tương tự mà bạn phải xem xét trong bất kỳ ứng dụng nào sử dụng bộ nhớ đệm.

  • Khối lượng lưu lượng truy cập đủ cao để hưởng lợi từ bộ đệm ẩn không?
  • Tần suất một phần dữ liệu cụ thể thay đổi? Làm thế nào quan trọng là kịp thời?
  • Tôi có sở hữu lớp truy cập dữ liệu không? Nếu vậy, tôi có thể kích hoạt việc làm mới trong bộ đệm bằng cách thay đổi dữ liệu thực tế và tránh hết hạn theo thời gian không?

và danh sách tiếp tục.

Các vấn đề liên quan