ОБНОВЛЕНИЕ I split
файл в несколько файлов, каждый примерно с 1,5 миллионами строк и без проблем.
Попытка передать в Redis 6.0.6 примерно 15 миллионов строк SADD и Команды HSET правильно отформатированы как Redis Mass Insertion , но это не удается со следующим сообщением:
ERR Protocol error: too big mbulk count string
Я использую следующую команду:
echo -e "$(cat load.txt)" | redis-cli --pipe
Я запускаю команду dbsize в redis-cli, и она не показывает увеличения в течение всего времени.
Я могу использовать написанное мной приложение для форматирования (приложение C ++ с клиентской библиотекой redis-plus-plus), которое правильно форматирует строки, записывает в std :: cout, а затем также использует следующую команду:
./app | redis-cli --pipe
, но он сразу закрывается, и только иногда выдает сообщение об ошибке.
Если я беру примерно 400 000 строк из файла load.txt и загружаю его в файл меньшего размера, используйте echo -e et c .... он загружается нормально. Проблема, похоже, в большом количестве строк.
Есть предложения? Это не проблема форматирования afaik. Я могу запрограммировать свое приложение, чтобы записывать все команды в Redis, но массовая вставка должна быть быстрее, и я бы предпочел этот маршрут.