У нас есть приложение ASP.NET 4.0, которое извлекает из базы данных сложную структуру данных, которая занимает более 12 часов, чтобы вставить в структуру данных в памяти (которая позже сохраняется в HttpRuntime.Cache). Размер структуры данных быстро увеличивается, и мы не можем продолжать ждать более 12 часов, чтобы поместить его в память, если приложение перезапустится. Это серьезная проблема, если вы хотите изменить файл web.config или любой другой код в веб-приложении, вызывающий перезапуск. Это означает длительное ожидание использования приложения и затрудняет разработку или обновление развертывания.
Структура данных ДОЛЖНА быть в памяти, чтобы работать со скоростью, которая делает веб-сайт пригодным для использования. В базах данных памяти, таких как memcache или Redis, медленнее по сравнению с HttpRuntime.Cache и не будет работать в нашей ситуации (в БД памяти нужно сериализовать put / get, плюс они не могут ссылаться друг на друга, они используют ключи, которые являются поисками - снижение производительности, плюс при большом количестве клавиш производительность быстро снижается). Производительность является обязательным здесь.
То, что мы хотели бы сделать, - это быстро сбросить HttpRuntime.Cache на диск до того, как приложение завершится (при перезапуске), и иметь возможность загрузить его обратно сразу же после запуска приложения (надеюсь, в течение нескольких минут вместо 12+ часов). или дни).
Структура оперативной памяти составляет около 50 ГБ.
Есть ли решение для этого?