2013-04-29 39 views
0

我們使用SC項目Web API在Web數據庫中創建Sitecore項目。Sitecore數據庫緩存 - 如何排除項目

但是,在我們清除緩存之前,它們不會立即顯示在內容樹中。

有沒有一種方法可以排除SC數據庫緩存中只包含某些項目?如果是這樣,你如何做到這一點?從鏈路(由戴夫·彼得森書面)

代碼:

感謝

回答

1

您可以創建自定義操作部分清除緩存爲explained here

public static void ClearDataItemCache(Database database, IEnumerable ids) 
{ 
    Cache prefetchCache = GetPrefetchCache(database); 

    foreach (ID id in ids) 
    {  
     if (!ID.IsNullOrEmpty(id)) 
     { 
      database.Caches.ItemCache.RemoveItem(id); 
      database.Caches.DataCache.RemoveItemInformation(id); 
      database.Caches.StandardValuesCache.RemoveKeysContaining(id.ToString()); 

      if (prefetchCache != null) 
      { 
       prefetchCache.Remove(id); 
      } 
     } 
    } 
} 

但是,不要繼續請記住,無論何時從Master數據庫發佈到Web數據庫,您的項目都會再次被刪除(除非它也是在Master數據庫中創建的)。

+0

+1您應該在主設備中創建項目 – jammykam 2013-04-29 13:19:50