Кэш для операции ввода-вывода C # - PullRequest
0 голосов
/ 13 февраля 2019

У нас есть службы Windows, которые работают на разных серверах (которые выполняют несколько операций ввода-вывода на основе чтения исходного значения), и мы рассматриваем возможность кэширования некоторых результатов ввода-вывода.Это кэшированное значение должно быть доступно для других служб на том же сервере, а также для других серверов.

Службы Windows написаны на .NET Core 2.1, они представляют собой консольные приложения, упакованные с использованием Topshelf для использования в качестве служб Windows.

любые предложения относительно того, какой API-интерфейс кэширования я могу использовать для управления кэшами, в зависимости от ситуации .?

1 Ответ

0 голосов
/ 13 февраля 2019

Если я правильно понимаю ваш вопрос, у вас слишком дорогая операция ввода-вывода, поэтому вы хотите кэшировать результаты этой операции, чтобы другие процессы на сервере и другие процессы, запущенные на других серверах, могли делиться ею.Это верно?

Это сложный вопрос дизайна.Нам нужно знать, о каких результатах мы говорим, о размере и т. Д.

Как минимум, вы можете использовать базу данных для хранения данных «кэша», чтобы другие процессы могли получить к ним доступ.Затем вам нужно позаботиться об обновлении кэша и синхронизации с другими процессами и т. Д.

Можно также подумать о отображенных в память файлах , к которым могут обращаться другие процессы.Но вам может потребоваться предоставить какой-то API для доступа к нему других серверов.

Надеюсь, что это поможет вам с чего-то начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...