我正在編寫一個管理智能應用程序,它需要相當多的複雜數據庫查詢,而且查詢的代價相當昂貴。爲了提高性能,我使用Memcached來存儲儘可能多的內存。什麼是緩存數據庫查詢的最佳方法
這導致了很多重複我的代碼,我渴望擺脫和建立一個更清潔的數據訪問解決方案。相當多的我的數據訪問功能已經結束了尋找這樣的..
public int NumberOfTimeouts(DateTime date, int? applicationId)
{
var functionCacheKey = "NumberOfTimeouts";
var cacheKey = string.Format("{0}-{1}-{2}-{3}", RepositoryCacheKey, functionCacheKey, date, applicationId);
var cachedNumberTimeouts = _cache.Retrieve(cacheKey);
if (cachedNumberTimeouts != null)
{
return (int)cachedNumberTimeouts;
}
//query logic here, calculates numberOfTimeouts
UpdateCache(date, cacheKey, numberOfTimeouts);
return numberOfTimeouts;
}
我只是不太確定的標準方法是什麼這個,難道涉及使用自定義屬性類或類似的東西?
這似乎是一個很好的解決方案,如果我正在更新記錄,但是這個應用程序不會觸及實際的業務邏輯,並且更多地用於從數據庫讀取數據。 – lisburnite