2014-12-05 50 views
0

我在C#.net框架中使用Appfabric緩存版本1.1,並且當前我想要獲取與特定對象關聯的標記列表被驅逐。當在Appfabric緩存中驅逐對象時,獲取與對象關聯的標記的詳細信息

在做了一些研究之後,我發現我們可以使用Appfabric提供的通知來捕獲緩存中的對象的細節。

http://msdn.microsoft.com/en-us/library/ff424507(v=azure.10).aspx (簡稱微軟的Windows Server AppFabric的食譜由哈馬德Rajjoub以及)

但是從回調函數獲得的細節不包含的,我要檢索標記列表。

獲取標籤列表的主要目的是刪除與這些標籤相關的所有其他對象,因爲我應該存儲在緩存中的數據是相關的。

任何想法或不同的方法是值得歡迎的。

+0

只有在顯式調用AddItem,ReplaceItem或RemoveItem時纔會調用項目級回調,而不是在因緩存項已過期或因羣集中存在內存壓力而從緩存中逐出項時才調用。你想要處理哪種場景? – stuartd 2014-12-08 15:29:24

+0

@stuartd,當緩存中的內容超過水印級別(低或高)時,我正試圖處理這種情況。因此,根據您的評論,還有其他方式可以在驅逐對象時瞭解與該對象關聯的標籤。謝謝 – Nayan32 2014-12-12 05:34:35

+0

它應該是可能的,看到我的[回答一個類似的問題](http://stackoverflow.com/a/20121059/43846),但沒有什麼內置的這樣做.. – stuartd 2014-12-12 10:55:32

回答

0

AppFabric不提供已刪除項目的元數據。另外,@stuartd提到,當物品因驅逐而被移除時,不會調用回調。

除了Appfabric之外,還有一些緩存解決方案可以提供這樣的擔憂。像NCache允許註冊item level event notifications以及指定通知被觸發時所需的信息類型。您可以註冊事件通知以僅獲取項目元數據。

NCache還允許添加項目的鍵依賴項以設置依賴於任何其他項目的項目。因此,如果因任何原因刪除了依賴項,則所有依賴項都會自動刪除。不幸的是,關鍵依賴功能在AppFabric中也不可用。

相關問題