Redis игнорирует настройку maxmemory - PullRequest
5 голосов
/ 28 сентября 2011

Redis имеет следующие настройки:

" config get maxmemory "

1) "maxmemory"
2) "2147483648"

(то есть 2G)

Но когда я делаю" info "

used_memory:6264349904
used_memory_human:5.83G
used_memory_rss:6864515072

Очевидно, что игнорируются все настройки ... Почему?

PS

" config get maxmemory-policy"показывает:

1) "maxmemory-policy" 
2) "volatile-ttl" 

и:" config get maxmemory-samples"показывает:

1) "maxmemory-samples" 
2) "3" 

Что означает, что они должны истекать ключи сближайший срок годности ...

Ответы [ 2 ]

2 голосов
/ 15 ноября 2012

У вас есть настройки срока действия на всех ваших ключах?volatile-ttl удалит только ключи с установленным сроком действия.Это должно быть в вашей информации.

Если у вас не установлен срок действия ttls, попробуйте allkeys-lru или allkeys-random для вашей политики.

0 голосов
/ 29 сентября 2011

Согласно http://redis.io/topics/faq

Вы также можете использовать опцию «maxmemory» в файле конфигурации, чтобы установить ограничение памяти, которую может использовать Redis. Если этот предел достигнут, Redis начнет отвечать с ошибкой при записи команд (но продолжит принимать команды только для чтения).

...