У меня возникла серьезная проблема при попытке преобразовать таблицу ets в список с помощью ets: tab2list.
У меня 1500 элементов в таблице ets, и у большинства из них есть ключ со значением около 20К текстовых данных. Размер таблицы таблицы ets составляет около 30 МБ.
Но когда я пытаюсь преобразовать эту таблицу в список, это будет стоить около 400 МБ памяти процесса, и кажется, что использование памяти процессом связано с размером таблицы и элемента. Когда я пытаюсь преобразовать таблицу 200 МБ с 10000 элементов. Он тратит почти память моей ВМ в одну строку и делает мою программу закрытой ОС.
Есть ли другой хороший способ справиться с моим делом? Кажется, ETS не подходит для моего случая использования? или есть другой хороший способ преобразовать таблицу ets в список без большого потребления памяти?
Спасибо тебе ~~
Eric
пс:
Я использую таблицу, чтобы поставить в очередь список команд команды redis, и сделаю пакетную вставку, чтобы повторить ее позже, чтобы избежать загруженной сетевой операции. Каждый элемент выглядит как
{index, {["set", "key"], "text"}
и мне нужна пакетная команда в виде
[["set", "key1", "text1"], ["set", "key2", "text2"]]
В моем случае текст документа составляет около 20000 слов