当将字典用于快速查找到缓存中时,我可以想到两个选择:
可以将整个字典存储为缓存项,也可以在缓存键之前添加标识符。

例:

myPseudoCache.Put("Users", myDictionaryWithGuidsAsKeys);




myPseudoCache.Put("Users_" + userId, singleUserEntity);


如果感兴趣的话,环境是C#和ASP.NET应用程序中的HttpRuntime.Cache,但是我也对一般思想(可维护性方面,性能等)感兴趣。

我试图在这里做出一个合理的决定,但实际上不确定具体的优缺点。也许有更多经验的人可以给我一些考虑方面的建议?非常感谢!

最佳答案

这实际上是一个权衡。如果myPseudoCache仅包含“用户”,则可以采用第二种方法-即myPseudoCache.Put("Users_" + userId, singleUserEntity);

如果有很多不同的项目(例如组,角色),尤其是频率不同,则爆炸的缓存结构可能不是最佳的。在这种情况下,在字典中遵循树状结构或字典是有意义的-即myPseudoCache.Put("Users", myDictionaryWithGuidsAsKeys);

例如;如果您的角色数量较少,则由于用户数量过多,因此无需进行角色查找。

07-24 18:42