gpt4 book ai didi

.net - 内存缓存还是并发字典?

转载 作者:行者123 更新时间:2023-12-03 09:23:05 24 4
gpt4 key购买 nike

我希望在 WCF 服务的请求级别实现缓存。对该服务的每个请求都会执行大量的数据库调用。考虑多个数据收集器。我们需要允许一个数据收集器访问前一个数据收集器已经检索到的信息。

我希望通过为每个请求创建一个特定实例来使用新的 .Net 4.0 内存缓存。

这是一个好主意吗 ?或者我应该简单地使用一个 Dictionary 对象?

顺便说一句:数据收集将是并行的,因此锁定会更加复杂,但我也可以为此使用并发收集。

最佳答案

如果您不需要某种到期逻辑,我建议您使用并发集合。您可以轻松实现 single entry caching mechanism合并 ConcurrentDictionaryLazy类。这是another关于 Lazy 和 ConcurrentDictionary 组合的链接。

如果你需要你的物品过期,那么你最好使用内置的 MemoryCache 并实现 double-checked locking pattern以保证缓存项的单次检索。可以在 Locking pattern for proper use of .NET MemoryCache 中找到双重检查锁定的现成实现。

关于.net - 内存缓存还是并发字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12595911/

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