我在過移動C#ASP.Net Web應用程序天青的規劃過程Azure的緩存/數據高速緩存風格的地區(目前主持一個專用的服務器上),並期待在緩存選項。目前,因爲我們一次只運行一個應用程序實例,所以我們有一個「進程中」內存緩存來緩解SQL DB的一些相同的請求。在Redis的
此刻的過程是清除緩存的某些部分時,經理/服務進行更改數據庫,例如那些部分我們有一個用戶表,我們將有返回單個用戶記錄/對象的「用戶。{0}」和返回與該外鍵相關的所有用戶的「Users.ForeignKey。{0}」。如果我們更新單個用戶記錄,那麼我們刪除「User.1」鍵(如果userid = 1)並且爲了簡化所有列表集合,因爲它們可能已經改變。我們通過按模式刪除按鍵來實現這一點,這意味着只有受影響的按鍵被刪除,其他按鍵纔會被刪除。
我們一直在計劃向Azure遷移一段時間,當我們開始考慮Azure Redis緩存服務不可用時(至少受支持),因此我們查看了Azure緩存服務, AppFabric中。使用這個,我們決定使用DataCache區域來分離不同的對象類型,然後刷新受影響的區域,與我們當前的方法不完全一樣,但是確定。現在,由於Redis已經來到現場,我們一直在考慮這一點,如果可能的話,寧願使用它。然而,爲了實現同樣的目標,我們必須爲每個「區域」/部分分別使用Redis緩存,這從我的理解來看,這意味着我們需要爲來自Azure的Redis緩存服務的許多小型實例付費將花費相當多的成本,因爲我們需要10個以上的獨立可沖洗部分緩存。
任何人知道如何實現類似於Azure的數據高速緩存區與Redis的東西,或者你可以建議一些有目共睹的是我可能丟失。
對不起,這麼長的問題/解釋,但我發現很難解釋我想實現沒有背景/上下文。
感謝, 加雷思
更新:
我已經發現了一些的bash命令,可以做到通過模式刪除鍵,包括使用「KEYS」命令here和LUA的工作腳本EVAL命令here。我打算使用StackExchange.Redis客戶端進行交互,沒有人知道如何使用StackExchange.Redis的這些類型的命令或替代方法(按模式刪除鍵)?
感謝您的閱讀,加雷思
好的,非常感謝您的回覆,我會盡力回覆。 – 2014-11-26 08:48:28