2011-07-06 60 views
1

我想知道速度和IS之間的關係。如果速度滿足請求,那麼它將使用工作進程。或者我感到困惑的事情。 ?速度緩存和IS

另外我想存儲一些數據,如國家,州和城市自動建議速度。這個數據庫可能在3 GB。現在速度如何運作。以及IS如何工作。這是否會影響IS?基本上我的要求是我想要保存所有國家,州和城市的速度數據,不想碰到數據庫,也不想讓IS繁忙。解決辦法是什麼?

請幫忙

回答

1

Velocity是微軟AppFabric分佈式緩存技術的代號。與memcache非常相似,它用於跨多臺計算機緩存對象。

這對IIS處理請求的方式沒有真正的影響。所有請求均由IIS滿足,AppFabric是一種用於存儲數據而不是處理請求的機制。

回答你的第二個問題;您可以使用AppFabric進行首次檢查數據。如果數據不存在於緩存中,則調用數據庫來填充緩存,然後返回數據。

var factory = DataCacheFactory(); 
var cache = factory.GetCache("AutoSuggest"); 

List<Region> regions = cache.Get("Regions") as List<Region>; 
if (regions == null) { 
    regions = // Get regions from database. 
    cache.Add("Regions", regions); 
} 

return regions; 

檢查緩存首先啓用該應用獲取更快的響應,因爲數據庫只打在一審(理想),其結果數據推回緩存。

public T Get<T>(string cacheName, string keyName, Func<T> itemFactory) 
    where T : class 
{ 
    var cache = dataFactory.GetCache(cacheName); 

    T value = cache.Get(keyName) as T; 
    if (value == null) { 
     value = itemFactory(); 
     cache.Add(keyName, value); 
    } 

    return value; 
} 

你可以改變你查找這樣調用類似於::

var regions = Get<List<Region>>("AutoSuggest", "Regions",() => GetRegions()); 
+0

感謝您的答覆

你可以多一點這個包裹起來。但第二個問題呢。我如何提供自動完成的數據,而不需要超過標題IS和數據庫。我有3GB的數據供縣,市,州女巫不會頻繁改變。 –

+0

@Deepak查看更新。 –