Mỗi Caching công nghệ/phương pháp đã thiết lập riêng của họ về tính năng. Những tính năng này có vẻ là bất lợi trong một yêu cầu ứng dụng nhưng có thể thuận lợi trong các yêu cầu ứng dụng khác.
Vì vậy, trong ngắn hạn, tùy thuộc vào yêu cầu của bạn quyết định công nghệ Caching nào và những tính năng nào là tốt nhất cho bạn.
For example, Let us discuss some client side Caching techniques
.
MSDN nói rằng chúng tôi cũng có thể sử dụng HiddenField
để chỉ lưu trữ một lượng nhỏ dữ liệu thay đổi thường xuyên trong các trường ẩn vì dữ liệu này được bao gồm trong vòng lặp tới máy chủ trên mỗi bài đăng.
Lợi thế của tính năng này: Giảm tải công việc trên máy chủ của bạn bằng cách lưu trữ thông tin trang bằng cách sử dụng tùy chọn phía máy khách.
Tuy nhiên, MSDN nói rõ ràng rằng: Phương pháp này có hỗ trợ bảo mật tối thiểu.
Do đó, người ta có thể hoặc không thể sử dụng tính năng này luôn vì những cân nhắc về bảo mật cũng có ở đó.
Consider one more example
, Page Output caching
: nó là của 2 loại, trang sản lượng bộ nhớ đệm và trang mảnh bộ nhớ đệm.
Bộ nhớ đệm đầu ra của trang lưu trữ toàn bộ trang Web và chỉ phù hợp khi nội dung của trang đó là khá tĩnh. Nếu các phần của trang đang thay đổi, bạn có thể quấn các phần tĩnh dưới dạng điều khiển người dùng và lưu vào bộ nhớ cache các điều khiển người dùng bằng cách sử dụng bộ nhớ đệm của phân đoạn trang.
And one last comment on
Application
vs HttpRuntime.cache
:
Application
không phải là một bộ nhớ cache, một bộ sưu tập có tên là giá trị toàn cầu của mình. nếu bạn thêm một đối tượng vào Application
, nó sẽ ở lại cho đến khi một tái chế miền ứng dụng.
- biến ứng dụng được chia sẻ biến trong số tất cả những người dùng của một ứng dụng web
- biến ứng dụng hoạt động giống như các biến tĩnh và họ là thay thế các biến tĩnh như các biến tĩnh là stateless trong các ứng dụng web
- giá trị Chỉ chia sẻ nên tồn tại trong các biến Ứng dụng, và ngay sau khi chúng không được sử dụng, chúng sẽ được loại bỏ một cách rõ ràng.
Cache
: Có thể để có được những cải tiến hiệu suất đáng kể trong các ứng dụng ASP.NET của bộ nhớ đệm đối tượng và dữ liệu thường xuyên được yêu cầu trong một trong hai Application
hoặc Cache
lớp. Mặc dù lớp Cache
chắc chắn cung cấp sự linh hoạt và kiểm soát nhiều hơn, nó chỉ xuất hiện để cung cấp một lợi thế cận biên về tăng thông lượng qua lớp học Application
để lưu vào bộ nhớ đệm. Sẽ rất khó để phát triển một chương trình thử nghiệm có thể đo lường chính xác các lợi thế tiềm năng của việc quản lý tích hợp các đối tượng ít được sử dụng hơn trong lớp học thông qua quá trình nhặt rác trái ngược với thực tế là Ứng dụng không cung cấp tính năng này. Nhà phát triển cần đưa ra quyết định trong trường hợp này và phải dựa trên nhu cầu và sự tiện lợi của dự án và các mẫu sử dụng của dự án. Kiểm tra this link để biết thêm.
Tham khảo this MSDN article cho một giải thích đầy đủ lớn trên tất cả các công nghệ Caching trong Asp.net với discusiion vào các tính năng của mỗi công nghệ.
Ngoài ra, các 2 liên kết là một nguồn tuyệt vời để bắt đầu với:
Điều đó phụ thuộc, bạn có thể nói những gì bạn muốn làm, nhưng, tôi không thích mục 'Application'. Tôi sử dụng một 'IDictionary'. 'Cache' là tốt nếu bạn có thể làm lại dữ liệu của bạn. –