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.