gpt4 book ai didi

c# - 缓存函数结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:09:31 24 4
gpt4 key购买 nike

假设我有一些函数 Func<int,int,int> .现在我想缓存(并快速查找)函数结果。

要求:

  1. 固定缓存大小(例如,1000 个三元组(输入、输入、结果))。
  2. 在缓存中快速查找和快速存储。
  3. 如果缓存已满,则应删除最长时间未访问(查找)的条目。

应该使用什么样的数据结构?

最佳答案

使用 .NET Cache ,或使用 MemoryCache ,这是一个非网络特定的缓存。

您可以使用 CacheMemoryLimit 指定缓存可以使用的内存量。属性(property)。

当缓存满了你可以Trim所需百分比的条目,条目将根据需要删除:

... entries will be removed from the cache based on a least-recently used (LRU) algorithm until the requested trim percentage is reached

缓存中每个项目的键都必须是字符串,因此我会将您的输入格式化为 {0}-{1} 或类似格式。您可能想要执行一些性能测试来满足您的要求,但我相信这将与任何其他解决方案一样快。

关于c# - 缓存函数结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com