Замена памяти на диск (виртуальная память) устарела / удалена в Redis 2.4 / 2.6. Скорее всего, вы не используете такую старую версию.
Вы управляете тем, что делает Redis при исчерпании памяти с помощью maxmemory
и maxmemory-policy
. Обе настройки в redis.conf
. Взгляните . Перестановка памяти на диск не подходит в последних версиях Redis.
Если Redis не может удалить ключи в соответствии с политикой или если для политики установлено значение noeviction ', Redis начнет отвечать с ошибками на команды, которые будут использовать больше памяти, такие как SET, LPU SH и т. Д., И продолжит отвечать на команды только для чтения, такие как GET.
Если достигнуто maxmemory
, вы потеряете данные только в том случае, если в политике выселения, установленной в maxmemory-policy
, указано, что Redis выселяет некоторые ключи и как выбирать эти ключи (volatile или all, lfu / lru / ttl / random). В противном случае Redis начинает отклонять команды записи, чтобы сохранить данные, уже находящиеся в памяти. Команды чтения продолжают обслуживаться.
Вы можете запустить Redis без настройки maxmemory
(по умолчанию), поэтому он будет продолжать использовать память до тех пор, пока память ОС не будет исчерпана.
Если ваша операционная система В системе включена виртуальная память, а настройка maxmemory
позволяет Redis go превышать доступную физическую память, после чего ваша ОС (не Redis) начинает выгружать память на диск. Тогда можно ожидать снижения производительности.