2017-07-19 72 views
0

我正在尋找一種在C#中創建類的方法,我們稱之爲「Cache.cs」,它本質上將作爲內存中的緩存工作。可以使用多個索引編制索引的緩存

這個緩存最重要的方面是索引是靈活的。我想REGISTER與緩存(以某種方式)不同的索引(可能是字典?),當我向緩存中添加/刪除元素時,註冊的索引將更新。當我從這個緩存中查詢數據時,我會提供一個索引,我在緩存中註冊了一個索引,併爲該索引提供了一個適合的鍵。

有沒有人寫過這樣的東西,他們可以分享?任何第三方庫?

+0

使用/實現多個索引是非常常見的編程任務......但它並沒有提出針對SO的話題「共享源碼或鏈接到庫」。 –

+0

字典密鑰是一個散列。字典沒有索引,但可以使用AsEnumerable()按順序枚舉鍵。 – jdweng

+0

如果索引是從該值派生的唯一輔助鍵,則可以移植[IndexMap](https://github.com/ben-manes/concurrentlinkedhashmap/blob/wiki/IndexableCache.md)。我已經使用鎖定條帶對多個地圖進行一致更新。多年來我一直不需要這樣的東西,但顯示瞭如何做到這一點的要點。 –

回答