Dicionário / cache com backup em disco para c #

Estou procurando uma queda na solução para armazenar em cache grandes quantidades de dados.

perguntas relacionadas, mas para diferentes idiomas:

Dicionário baseado em disco do PythonClasses de contêiner STL com suporte em disco?

Fechar pergunta em termos diferentes:

Procurando uma implementação simples e independente de dicionário persistente em C #

Não preciso (ou quero pagar nada) por persistência, transações, segurança de threads ou similares e quero algo que não seja muito mais complexo de usar do que uma Lista <> ou Dicionário <>.

Se eu tiver que escrever código, salvarei tudo como arquivos no diretório temp:

string Get(int i)
{
   File.ReadAllText(Path.Combine(root,i.ToString());
}

Nos meus casos no índice será umint (e devem ser consecutivos ou próximos o suficiente) e os dados serão umstring para que eu possa me safar com o tratamento de ambosPOD e preferiria ser ultraleve e fazer exatamente isso.

O uso é que eu tenho uma sequência de arquivos 3k (como no arquivo 1 a 3000) totalizando 650 MB e preciso fazer uma comparação para cada etapa da sequência. Espero que totalize o mesmo ou um pouco mais e não quero manter tudo isso na memória (casos maiores podem surgir onde eu simplesmente não posso).

Várias pessoas sugeriram soluções diferentes para o meu problema. No entanto, nenhum parece ser direcionado para o meu pequeno nicho. As razões pelas quais estou analisando o cache com backup em disco são porque espero que meu uso atual use de 1/3 a 1/2 do meu espaço de endereço disponível. Estou preocupado que os casos maiores fiquem sem espaço. Não estou preocupado com pisar, persistir ou replicar. O que estou procurando é uma solução mínima usando um mínimo de código, uma pegada de uso mínimo, mínimo de sobrecarga de memória e complexidade mínima.

Estou começando a pensar que estou sendo otimista demais.

questionAnswers(7)

yourAnswerToTheQuestion