我正在使用私有和静态字典来缓存菜单名称。
private static Dictionary<string, string> menuItemCache = new Dictionary<string, string>();
并且我的[POST]操作方法会为添加的任何新菜单项更新缓存。字典一直保存菜单名称,并被其他[GET]操作方法使用。
我的问题是如果建议使用静态字典而不是任何其他缓存技术。
答案 0 :(得分:4)
你应该非常小心静态变量。静态变量在所有会话中共享。如果您打算为每个用户保留一个缓存,则应该使用Session
对象。
就其本身而言,保持缓存存储在字典中没有任何错误。字典具有快速查找功能,因此在列表中使用字典时,您可能会从性能方面受益。