C# 在C中使用内存缓存最有效的方法是什么#

C# 在C中使用内存缓存最有效的方法是什么#,c#,wcf,memorycache,concurrentdictionary,C#,Wcf,Memorycache,Concurrentdictionary,在WCF应用程序中,我的数据库中有80k+行,这些行很少更改。我想将它们缓存在内存中,以便更快地查找。我应该可以在需要的时候驱逐他们。我为它找到了一些C#库。其中一些在内部使用MemoryCache,而另一些使用ConcurrentDictionary。既然MemoryCache和ConcurrentDictionary都是线程安全的,那么我还应该选择MemoryCache或MemoryCache来实现其他好处吗?有效地说,它们都可以实现您想要的功能—在内存中存储数据 不同之处在于,Memory

在WCF应用程序中,我的数据库中有80k+行,这些行很少更改。我想将它们缓存在内存中,以便更快地查找。我应该可以在需要的时候驱逐他们。我为它找到了一些C#库。其中一些在内部使用MemoryCache,而另一些使用ConcurrentDictionary。既然MemoryCache和ConcurrentDictionary都是线程安全的,那么我还应该选择MemoryCache或MemoryCache来实现其他好处吗?

有效地说,它们都可以实现您想要的功能—在内存中存储数据

不同之处在于,MemoryCache允许您设置缓存策略和过期时间,如果要使用dictionary,则可能需要手动编写


如果需要缩放这个,考虑使用或../P>是否可以通过外部源来改变任何数据行,比如预定的控制台应用程序?是否有多个前端服务共享缓存?有可伸缩性要求吗?我已经有了用于缓存的redis。这个API将位于redis之上,存储一小部分经常访问的redis数据。外部源可以更新redis中的数据。如果发生这种情况,API应该能够同步.1以提高可伸缩性!