首页 > 解决方案 > IO操作的缓存C#

问题描述

我们有在不同服务器上运行的 Windows 服务(根据读取的源值执行多个 IO 操作),我们正在研究缓存一些 IO 结果的能力。同一服务器内的其他服务以及其他服务器应该可以访问此缓存值。

Windows 服务是用 .NET Core 2.1 编写的,它们是使用 Topshelf 包装的控制台应用程序,可用作 Windows 服务。

关于我可以用来管理缓存的缓存 API 的任何建议,具体到我的情况。?

标签: c#caching

解决方案


如果我对您的问题的理解正确,那么您的 IO 操作成本太高,因此您希望缓存该操作的结果,以便服务器内的其他进程和其他服务器上运行的其他进程可以共享它。那正确吗?

这是一个复杂的设计问题。我们需要知道什么样的结果,我们在谈论,大小等。

至少,您可以使用数据库来存储“缓存”数据,以便其他进程可以访问它。然后你需要担心刷新缓存和与其他进程同步等。

您还可以考虑其他进程可以访问的内存映射文件。但是您可能需要为其他服务器提供某种 API 才能访问它。

希望这可以帮助您从某个地方开始。


推荐阅读