Tôi cần xây dựng một List<object>
và lưu vào bộ nhớ cache danh sách và có thể nối thêm vào danh sách đó. Tôi cũng cần để có thể thổi nó đi một cách dễ dàng và tái tạo nó. Một cách đơn giản để thực hiện điều này là gì?Thực hiện bộ nhớ cache C# ASP.NET đơn giản
Trả lời
như có lẽ đây?
using System;
using System.Collections.Generic;
using System.Web;
public class MyListCache
{
private List<object> _MyList = null;
public List<object> MyList {
get {
if (_MyList == null) {
_MyList = (HttpContext.Current.Cache["MyList"] as List<object>);
if (_MyList == null) {
_MyList = new List<object>();
HttpContext.Current.Cache.Insert("MyList", _MyList);
}
}
return _MyList;
}
set {
HttpContext.Current.Cache.Insert("MyList", _MyList);
}
}
public void ClearList() {
HttpContext.Current.Cache.Remove("MyList");
}
}
Đối với làm thế nào để sử dụng .....
// Get an instance
var listCache = new MyListCache();
// Add something
listCache.MyList.Add(someObject);
// Enumerate
foreach(var o in listCache.MyList) {
Console.WriteLine(o.ToString());
}
// Blow it away
listCache.ClearList();
Vâng ... có thể sử dụng được. Nhưng tôi sẽ thực hiện một số thay đổi. Chủ yếu, tôi sẽ luôn luôn trả về một danh sách hợp lệ. Nếu nó không tồn tại, hãy tạo một bộ sưu tập trống mới và lưu nó vào bộ nhớ cache, thay vì chỉ trả lại bất kỳ thứ gì trong Cache ["MyList"], có thể là null. – Bryan
Vâng Bryan, ví dụ này khá đơn giản. - Nhưng tôi đã đề nghị của bạn để tim và cập nhật mẫu của tôi. Cảm ơn. – jessegavin
Trong nhiều/hầu hết các kịch bản thế giới thực, bạn sẽ muốn xóa các thay đổi đối với một số loại lưu trữ lâu dài. – quillbreaker
Tutorial Đây là những gì tôi thấy là hữu ích
Đây là một cái gì đó mẫu
List<object> list = new List<Object>();
Cache["ObjectList"] = list; // add
list = (List<object>) Cache["ObjectList"]; // retrieve
Cache.Remove("ObjectList"); // remove
Các bộ phận bộ nhớ đệm của "Tracing and Caching Provider Wrappers for Entity Framework", trong khi không đơn giản, vẫn là một bài đánh giá khá tốt của một số điều hữu ích để suy nghĩ về với bộ nhớ đệm.
Cụ thể, hai lớp InMemoryCache
và AspNetCache
và thử nghiệm của họ liên quan:
Tương tự như những gì các câu hỏi đã làm, bạn có thể quấn HttpRuntime.Cache
hoặc HttpContext.Current.Items
hoặc HttpContext.Current.Cache
khi triển khai ICache
.
- 1. API lược tả bộ nhớ cache đơn giản
- 2. .Net Bộ nhớ trong bộ nhớ đơn giản
- 3. Thực hiện băm đơn giản trong C++
- 4. Tìm bộ đệm Java đơn giản trong bộ nhớ
- 5. Xác thực đơn giản ASP.Net MVC 1.0
- 6. Dễ dàng, đơn giản để sử dụng bộ nhớ cache LRU trong java
- 7. Tạo bộ nhớ cache trong bộ nhớ còn tồn tại giữa các lần thực hiện
- 8. Thực hiện cuộc gọi Ajax đơn giản tới bộ điều khiển trong asp.net mvc
- 9. Cách đơn giản để thêm tệp kê khai bộ nhớ cache vào ứng dụng Meteor?
- 10. Một ví dụ đơn giản về thuật toán nhận biết bộ nhớ cache?
- 11. ASP.NET - Vô hiệu hóa bộ nhớ cache của trình duyệt
- 12. Truy vấn trên thực hiện đơn giản C++ threadpool
- 13. Thực hiện bộ nhớ cache bằng cách sử dụng java ConcurrentHashMap
- 14. Bộ nhớ cache, tắt bộ nhớ đệm
- 15. ASP.NET MVC - Ngăn bộ nhớ cache trên Ajax.ActionLinks
- 16. C#: Cách triển khai bộ nhớ cache thông minh
- 17. Phân bổ bộ nhớ tĩnh trong bộ nhớ cache CPU trong c/C++: có thể không?
- 18. Thực hiện các bộ lọc thông cao và thấp đơn giản trong C
- 19. asp.net mvc vô hiệu hóa bộ nhớ cache ajax
- 20. Bộ nhớ Cache ASP.NET hoạt động như thế nào?
- 21. Buộc tất cả bộ nhớ cache ASP.NET hết hạn
- 22. Lưu trữ một bảng đơn giản trong bộ nhớ trong ASP.NET?
- 23. Mod_pagespeed xoá bộ nhớ cache?
- 24. Bộ nhớ cache kết quả Doctrine không lưu vào bộ nhớ cache truy vấn
- 25. Bộ nhớ cache đầu ra trang có được lưu trữ trong đối tượng bộ nhớ cache ASP.NET không?
- 26. Thông số bộ nhớ cache mới cho bộ nhớ cache AppFabric khi lưu trữ ASP.NET Session State
- 27. Bộ nhớ cache dành riêng
- 28. Bộ nhớ cache OutputCache và RenderAction toàn bộ trang
- 29. Làm thế nào để thực hiện yêu cầu bộ nhớ cache theo yêu cầu trong ASP.NET 3.5
- 30. thư viện bộ nhớ cache cho Objective-C (iPhone)
Hãy nhớ rằng Danh sách của bạn sẽ không phải là chủ đề an toàn. – dugas