我MemoryCache
用来在我的 MVC .Net 应用程序中存储键/值对。
我使用 2 个主要目的MemoryCache
。一种是存储用户 ID 的会话,另一种是存储常量(这只是一个示例)理论上两种情况下的键可能是相同的,所以我想要一些方法来分离这 2 个。
我正在考虑2或3种方法。哪种方式更优越?还是有更好的选择?
缓存中的每个键都将由命名空间前置。
“用户会话:1”、“用户会话:2”
、“常量:1”、“常量:2”使用嵌套字典作为键。
将有一个键“user_sessions”,其值将是一个将 ID 映射到会话对象的字典。将有一个键“常量”,其值将是一个字典。
每个“命名空间”都有自己的 MemoryCache 实例。
#2 的缺点是,当我想获取属于用户 ID 的值时,我需要先获取字典,然后获取该字典中某个键的值。这意味着我需要将字典存储在内存中。
IE:
Dictionary<string, string> userSessions = MemoryCache.Default["user_sessions"]
object session = userSessions.get("1");