В Redis 2.4 то vm-enabled no
является значением по умолчанию, поэтому я использую redis в качестве базы данных (а не кеша), и, возможно, иногда размер базы данных превышает размер памяти, следует ли мне ее включить?
Или я должен maxmemory
чтобы предотвратить потерю данных?
Что произойдет, если Redis исчерпает память?
В современных операционных системах функция malloc (), возвращающая NULL, не является обычным явлением, обычно сервер начинает подкачку и производительность Redis ухудшается, поэтому вы, вероятно, заметите, что что-то не так. Команда INFO сообщит объем памяти, который использует Redis, чтобы вы могли писать сценарии, которые отслеживают ваши серверы Redis, проверяя наличие критических условий. В качестве альтернативы можно использовать параметр «maxmemory» в файле конфигурации, чтобы ограничить объем памяти, который может использовать Redis. Если этот предел достигнут, Redis начнет отвечать с ошибкой для записи команд (но продолжит принимать команды только для чтения), или вы можете настроить его для удаления ключей при достижении максимального ограничения памяти в случае, если вы используете Redis для кеширования.
Ничего не делай ...? В худшем случае вы получите серьезную деградацию производительности от подкачки, но это все? В любом случае у вас есть обработка ошибок в вашем приложении, не так ли?