Я ищу решение для кэширования больших объемов данных.
но для разных языков:
Закройте вопрос в разных терминах:
Мне не нужно (или не хочу ничего платить за) настойчивость, транзакции, безопасность потоков и т.п., и нужно что-то более сложное для использования, чем List < > или Dictionary < > .
Если мне нужно написать код, я просто сэкономлю все файлы в каталоге temp:
string Get(int i)
{
File.ReadAllText(Path.Combine(root,i.ToString());
}
В моих случаях в индексе будет int
(и они должны быть последовательно или достаточно близко), и данные будут string
, поэтому я могу уйти с рассмотрением как POD и скорее уйдет в ультра-свете и сделает именно это.
Использование состоит в том, что у меня есть последовательность из 3k файлов (как в файле № 1 до # 3000) общим объемом 650 МБ, и вам нужно сделать diff для каждого шага в последовательности. Я ожидаю, что общая сумма будет примерно одинаковой или немного больше, и я не хочу хранить все это в памяти (большие случаи могут возникать там, где я просто не могу).
Ряд людей предложили различные решения для моей проблемы. Однако ничто, кажется, не нацелено на мою маленькую нишу. Причины, по которым я ищу кэширование на основе диска, связаны с тем, что я ожидаю, что мое текущее использование будет использовать от 1/3 до 1/2 моего доступного адресного пространства. Я обеспокоен тем, что в больших корпусах будет просто закончиться пространство. Я не беспокоюсь о потере, настойчивости или репликации. Я ищу минимальное решение, используя минимальный код, минимальную печать для использования, минимальную память и минимальную сложность.
Я начинаю думать, что я слишком оптимистичен.