我在SP中使用两个输入参数(UserID,ProfileID)从数据库检索数据。我想将结果存储在memoryCache中,因为在一段时间内结果是静态的。我以为使用
字符串cacheKey = UserID.toString()+“ _” + ProfileID.ToString()作为键。如果我连接字符串,这是一个非常简单的解决方案。
我可以将静态ConcurrentDictionary用作缓存,将Tuple用作缓存键,但是我确实需要在一定时间后使缓存过期。
我想知道其他任何替代方法/想法,以及使用字符串作为键进行字符串连接的缺点。
答案 0 :(得分:1)
您对缓存键的字符串连接的解决方案很好,我会继续使用它。
请注意,如果要使用元组作为缓存键,ConcurrentDictionary可以接受任何对象作为缓存键,但是实际上它取决于“ GetHashCode()”对象方法,因此您需要验证元组生成的HashCode是否一致,否则您将遇到错误。
字符串串联是一个更简单的解决方案。