我有ConcurrentDictionary<string, SomeClass>,我使用它作为未过期的缓存。我想定期从外部数据源更新它。我可以使用TryUpdate或类似的方法来填充ConcurrentDictionary。但是我也想删除一些不再存在于数据源中的值。
如何做到这一点?
我知道如何使用ConcurrentDictionary作为源代码来构建Dictionary。但是这不适用,因为我正在更新已经存在的ConcurrentDictionary,并且不能定期构建一个新的。
编辑**
我可以分两步做这个手术
Dictionary迭代,并在目标ConcurrentDictionary上调用TryUpdate。ConcurrentDictionary迭代并删除源Dictionary中不存在的所有键但我想要更优雅的方式
发布于 2019-04-12 02:47:38
尝试让一个后台线程枚举ConcurrentDictionary并检查源代码。如果它没有来源,从字典中删除它。
https://stackoverflow.com/questions/55643762
复制相似问题