ASP.NET/MONOMVC2アプリケーション標準のASP.NETWebキャッシュは、データベースアクセスを高速化するために使用されます。
string GetName() {
// todo: dedect if data has changed and invalidate cache
var name = (string)HttpContext.Current.Cache["Name"];
if (name!=null)
return name;
name = db.Query("SELECT name from mydata");
HttpContext.Current.Cache.Insert("Name", name);
return name;
}
mydataは他のアプリケーションによって変更される可能性があります。この場合、このメソッドは間違ったデータを返します。この場合、データが変更されたかどうかを検出し、PostgreSqlデータベースから新しいデータを返す方法は?
mydataが変更された場合は、Webキャッシュ全体をクリアしても問題ありません。