2014-10-17 3 views
0

Есть ли способ установить Redis, чтобы он никогда не выцифровывал данные и не выходил из строя, если в нем заканчивается память? Мне нужно гарантировать, что данные не будут потеряны; Я не использую это как постоянное хранилище данных, механизм, а скорее для более временного механизма хранения данных для высокопроизводительных и высокопроизводительных преобразований данных.Redis: Сбой вместо выселения?

Есть ли альтернативное хранилище данных NoSQL, которое может приблизиться к производительности, но использовать чтение и запись диска, если память заканчивается; это не идеально, но лучше, чем потерять данные. Я читаю/пишу/обновляю миллионы документов JSON (12+ миллионов и растет).

ответ

1

Да.

Прежде всего убедитесь, что вы указали директиву maxmemory (в файле conf или CONFIG SET) на значение, отличное от 0. Это даст команду Redis использовать это значение в качестве верхнего предела памяти.

Затем установите maxmemory-policy директиву noeviction - это приведет к Redis вернуть OOM (из памяти) ошибки при maxmemory достигается при попытке записи на него.

Дополнительную информацию об этих директивах см. В документации по файлам конфигурационных файлов: http://download.redis.io/redis-stable/redis.conf

Смежные вопросы