Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9517

一定時間経過したらアクセスできなくなるキャッシュを使う (C#)

$
0
0

一定時間経過したらアクセスできなくなるデータキャッシュを使う (C#)

外部リソースから拾ってきたデータをキャッシュしたい場合、ずっとキャッシュすると外部リソース側が更新されたときに困る. そういう時とかに使えるデータキャッシュ. 以前はそういう用途が多い Web アプリケーション用に ASP.NET だけそういう機能があったが、今はデスクトップアプリでも普通に使えるようになった. 最後にアクセスしてから一定時間経過後にキャッシュを無効化したいのであれば AbsoluteExpirationの代わりに SlidingExpirationを使う.

とりあえず今回は有効期間1分で、10秒ごとにアクセスしてみた.

usingSystem;usingSystem.Runtime.Caching;usingSystem.Threading;namespaceConsoleApp1{classProgram{staticreadonlyObjectCacheCache=MemoryCache.Default;staticvoidMain(string[]args){while(true){varmessage=(string)Cache["test"];if(message==null){message=$"cached at {DateTime.Now:yyyy-MM-ddHH:mm:ss}";Cache.Add("test",message,newCacheItemPolicy(){AbsoluteExpiration=DateTime.Now.AddMinutes(1)});}Console.WriteLine(message);Thread.Sleep(TimeSpan.FromSeconds(10));}}}}

Viewing all articles
Browse latest Browse all 9517

Trending Articles