2012-07-24 69 views
0

我正在一個網站上右欄和菜單組件將獨佔使用外部數據源。外部源是一個基於Lucene的索引,位於不同的服務器上。Sitecore緩存和外部數據源

我想在這些組件上實現Sitecore緩存,但我希望在索引中的組件可用新數據時刷新緩存。新數據將非常頻繁地提供。我用幾秒鐘的時間談話,而不是幾分鐘或幾小時。在這種情況下如何實現Sitecore緩存?

我對本網站使用Sitecore 6.5。

+2

請參考關於同一主題的這個其他問題: http://stackoverflow.com/questions/6297180/sitecore-html-cache-and-external-data-sources/6301743#6301743 – 2012-07-24 15:19:53

+0

複製本帖 - HTTP:/ /stackoverflow.com/questions/6297180/sitecore-html-cache-and-external-data-sources/6301743#6301743 – Gabbar 2012-07-24 18:10:42

回答

1

除了上面提到的重複帖子,如果您的內容更新頻繁(以秒爲單位),那麼如果您每次緩存實例的訪問次數不頻繁,它甚至可能不值得緩存開銷。你最終會爲緩存使用內存,並且幾乎不會使用它們。而是使用Lucene.NET提供您的組件的SkinnyItem集合(一個非常快的操作),並將其轉換爲Item在最後時刻綁定到前端時(例如在RepeaterItemDataBound事件)

+0

我甚至不需要返回Lucene.NET來獲取項目(或瘦項目)來自Sitecore的信息。我需要的所有信息都在這個外部索引中。 – Gabbar 2012-07-24 19:00:17

+0

如果是這種情況,那麼你可以從'SkinnyItem'中查找值,例如'string yourFieldVal = skinnyItem.Fields [「your field」];' – 2012-07-24 19:51:41