c# - System.Runtime.Caching.MemoryCache 是否在同一服务器中跨进程共享

标签 c# .net caching windows-services

我有多个 Windows 服务在运行,它们在不同的进程上,System.Runtime.Caching.MemoryCache 是这些进程通用的还是每个进程都有单独的实例?

如果没有,是否有一种缓存机制可以在服务器的 .net 上共享相同的缓存命名空间实例。

我不是在寻找像redis这样的分布式缓存。我想在一个服务器内共享内存缓存,但要与多个进程共享,这样速度要快得多,而不是通过网络连接到另一台服务器并获取数据、反序列化等。

最佳答案

System.Runtime.Caching.MemoryCache 只能在单个进程中使用。您最好的解决方案是在单个服务器(您运行应用程序的服务器)上使用分布式缓存(如 Redis、Memcache 等)。

C# 对象不能直接跨进程空间传递,因此不可避免地会发生某种序列化。

关于c# - System.Runtime.Caching.MemoryCache 是否在同一服务器中跨进程共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41949040/

相关文章:

c# - 依赖注入(inject)和 Entity Framework

c# 为什么 Convert.ToInt16(num) vs ToInt16(num)?

java - Spring @Cacheable 分页方法

php - Memcached vs APC 我应该选择哪一个?

c# - 身份验证 gmail api C# windows phone 8.1

c# - ObjectDisposedException 即使我正在使用 .Include()、.ToList() 和其他一切

c# - 在同一个项目中添加 ASP.NET MVC 和 Web API Web Application

python - 使用 iPython 避免_pycache_

c# - 将多选下拉列表附加到数组

c# - 是否有理由在现代 .NET 代码中使用 goto?