假设我有一些功能Func<int,int,int>
。现在我想缓存(并快速查找)函数结果。
要求:
应该使用什么样的数据结构?
答案 0 :(得分:1)
使用.NET Cache,或使用MemoryCache,这是非特定于网络的缓存。
您可以使用CacheMemoryLimit属性指定缓存可以使用的内存量。
当缓存已满时,您可以Trim所需的条目百分比,并根据需要删除条目:
...将根据最近最少使用(LRU)算法从缓存中删除条目,直到达到请求的修剪百分比
缓存中每个项目的键必须是一个字符串,因此我将输入格式设置为{0}-{1}
或类似。您可能希望执行一些性能测试以满足您的要求,但我相信这将与任何其他解决方案一样快。