2
在我的一個Web應用程序中,我試圖緩存一些參考實體以減少數據庫命中。我正在使用緩存應用程序塊來實現緩存。我對它很陌生,我不確定它的實施。我寫了一個樣本庫來利用它。 我希望你們所有人都能看看並評論一下。使用緩存在Asp.net應用程序中的存儲庫層緩存應用程序塊
public class StatusRepository
{
ICacheManager statusCahce = CacheFactory.GetCacheManager(); //I am not sure whether I should initilise statusCache object here.
public StatusEntity Get(byte statusId)
{
StatusCollection statusCollection = (StatusCollection)statusCahce.GetData("Statuses");
if (statusCollection != null)
{
return (StatusEntity)statusCollection.StatusList.First(p=>p.StatusId==statusId);
}
else
{
// HIT Database to get the entity
}
}
public StatusCollection GetStatusList()
{
StatusCollection statusCollection = (StatusCollection)statusCahce.GetData("Statuses");
SqlHelper sql = new SqlHelper(true);
if (statusCollection != null) //We have it in cache
{
return statusCollection;
}
else //Hit Database
{
//Hit Database to get the StatusCollection and add that collection to cache
statusCahce.Add("Statuses", statusCollection);
return statusCollection;
}
}
}
}
}
請讓我知道,我該如何改進它。
請讓我知道,我們可以在緩存中獲得多少數據。
根據MSDN CacheFactory不再使用。你爲什麼不描述你真正想實現的目標,以便人們可以提出其他技術或方法。 – Jeroen