.NET 4 Frameworkにはキャッシュサポートが組み込まれていることを理解しています。誰もこれについての経験がありますか、またはこれについてさらに学ぶための良いリソースを提供できますか?
私はメモリ内のオブジェクト(主にエンティティ)のキャッシング、おそらくSystem.Runtime.Cachingの使用について言及しています。
this 、 System.Runtime.Caching
、System.Web.Caching
およびより一般的な名前空間。
http://deanhume.com/Home/BlogPost/object-caching----net-4/37 を参照してください
スタック上で、
システム実行時キャッシュでキャッシュの依存性がある そして、
役に立つかもしれません。
自分では使用していませんが、単純なオブジェクトをメモリにキャッシュしているだけの場合は、System.Runtime.Caching名前空間の MemoryCache クラスを参照している可能性があります。ページの最後に使用方法の小さな例があります。
編集:この回答に対して実際に作業を行ったように見せるために、そのページのサンプルを次に示します。 :)
private void btnGet_Click(object sender, EventArgs e)
{
ObjectCache cache = MemoryCache.Default;
string fileContents = cache["filecontents"] as string;
if (fileContents == null)
{
CacheItemPolicy policy = new CacheItemPolicy();
List<string> filePaths = new List<string>();
filePaths.Add("c:\\cache\\example.txt");
policy.ChangeMonitors.Add(new
HostFileChangeMonitor(filePaths));
// Fetch the file contents.
fileContents =
File.ReadAllText("c:\\cache\\example.txt");
cache.Set("filecontents", fileContents, policy);
}
Label1.Text = fileContents;
}
興味深いのは、従来のASP.NETキャッシュのように、キャッシュに依存関係を適用できることを示しているためです。ここでの大きな違いは、System.Web Assemblyに依存していないことです。
フレームワークのMemoryCacheを開始するのに適していますが、 LazyCache を検討することもできます。これは、メモリキャッシュよりもシンプルなAPIを持ち、他のNice機能と同様にロック機能が組み込まれているためです。 nugetで利用可能です:PM> Install-Package LazyCache
// Create our cache service using the defaults (Dependency injection ready).
// Uses MemoryCache.Default as default so cache is shared between instances
IAppCache cache = new CachingService();
// Declare (but don't execute) a func/delegate whose result we want to cache
Func<ComplexObjects> complexObjectFactory = () => methodThatTakesTimeOrResources();
// Get our ComplexObjects from the cache, or build them in the factory func
// and cache the results for next time under the given key
ComplexObject cachedResults = cache.GetOrAdd("uniqueKey", complexObjectFactory);
最近、この記事を書いた ドットネットでのキャッシュの開始 役に立つかもしれません。
(免責事項:私はLazyCacheの著者です)
.Netframework 4.0のSystem.Runtime.Cachingを参照していることを願っています
以下のリンクが良い出発点です: Here
MSDNの記事 「ASP.NETキャッシュ:テクニックとベストプラクティス」 は素晴らしいスタートです。