Структура (словарь) с ограничением используемой памяти, где взять?
Добрый день!
Подскажите какую библиотеку (желательно на чистом .NET) можно использовать для следующей задачи.
Есть словарь Dictionary < long, MyData >
в словаре хранится несколько миллионов элементов
в результате потребление памяти 1-2 гигабайта в зависимости от наполнения MyData.
Хочется найти структуру данных аналогичную Dictionary, но которой можно задать максимальный размер потребляемой памяти и если память закончилась, то данные, к которым давно не обращались, выгружаются на жесткий диск, и при обращении по ключу они загружаются в память по новой.
если используется файл подкачки, то будут тормозить все приложения на компе, а мне нужно чтобы замедлилось только мое приложение, и то оно замедлится незначительно, т.к. данные из словаря не все используются постоянно.
darkdiver готовое оттестированное решение - это key-value хранилище, коих достаточно на сегодняшний день (например redis.io). Вот как раз вам и будет выгрузка на жесткий диск. А если такая база данных для вас слишком тяжеловесно - то тогда уж лучше свою структуру заточить для своих задач, не такой уж тогда это велосипед.