c# - IO操作的缓存C#
问题描述
我们有在不同服务器上运行的 Windows 服务(根据读取的源值执行多个 IO 操作),我们正在研究缓存一些 IO 结果的能力。同一服务器内的其他服务以及其他服务器应该可以访问此缓存值。
Windows 服务是用 .NET Core 2.1 编写的,它们是使用 Topshelf 包装的控制台应用程序,可用作 Windows 服务。
关于我可以用来管理缓存的缓存 API 的任何建议,具体到我的情况。?
解决方案
如果我对您的问题的理解正确,那么您的 IO 操作成本太高,因此您希望缓存该操作的结果,以便服务器内的其他进程和其他服务器上运行的其他进程可以共享它。那正确吗?
这是一个复杂的设计问题。我们需要知道什么样的结果,我们在谈论,大小等。
至少,您可以使用数据库来存储“缓存”数据,以便其他进程可以访问它。然后你需要担心刷新缓存和与其他进程同步等。
您还可以考虑其他进程可以访问的内存映射文件。但是您可能需要为其他服务器提供某种 API 才能访问它。
希望这可以帮助您从某个地方开始。
推荐阅读
- linux - 如何使用 bash 脚本计算一个单词中出现的最多 3 个字母的序列
- python - 如何迭代数据帧行,以更 Python 的方式替换匹配元组中的值?
- git - 是什么导致我在 Github 的 diff 中出现行偏移问题?
- aframe - 未能在元素上执行“setAttribute”
- android-studio - Flutter Hello World 应用程序无法在 Emulator (android studio) 上运行
- javascript - 为什么 Angular cdk 自动填充在 Firefox 中不起作用?
- html - 根据条件删除 detailPanel 会导致填充
- python - 在打印语句中增加一个值
- linux - 在 x86 上发送用户模式中断
- python - 创建新模型后如何自动创建 100 个模型实例?