2017-07-19 70 views
0

我正在寻找一种在C#中创建类的方法,我们称之为“Cache.cs”,它本质上将作为内存中的缓存工作。可以使用多个索引编制索引的缓存

这个缓存最重要的方面是索引是灵活的。我想REGISTER与缓存(以某种方式)不同的索引(可能是字典?),当我向缓存中添加/删除元素时,注册的索引将更新。当我从这个缓存中查询数据时,我会提供一个索引,我在缓存中注册了一个索引,并为该索引提供了一个适合的键。

有没有人写过这样的东西,他们可以分享?任何第三方库?

+0

使用/实现多个索引是非常常见的编程任务......但它并没有提出针对SO的话题“共享源码或链接到库”。 –

+0

字典密钥是一个散列。字典没有索引,但可以使用AsEnumerable()按顺序枚举键。 – jdweng

+0

如果索引是从该值派生的唯一辅助键,则可以移植[IndexMap](https://github.com/ben-manes/concurrentlinkedhashmap/blob/wiki/IndexableCache.md)。我已经使用锁定条带对多个地图进行一致更新。多年来我一直不需要这样的东西,但显示了如何做到这一点的要点。 –

回答