Конфиг redis вопрос? - PullRequest
       8

Конфиг redis вопрос?

3 голосов
/ 02 августа 2010

Я использую Redis для кэширования, но недавно у меня возникла проблема с количеством используемой памяти - мне пришлось перезапустить мой сервер, так как все оперативные памяти были использованы.

Это не самая большая машина, но как мне следуетнастроить redis, чтобы снова избежать этой проблемы?

free -m
             total       used       free     shared    buffers     cached
Mem:           240        222         17          0          6         38
-/+ buffers/cache:        177         62
Swap:          255         46        209

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

тайм-аут 60
базы данных 1
сохранить 300 1
сохранить 60 100
maxmemory 104857600

top
top - 14:15:28 up  1:19,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  49 total,   1 running,  48 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    245956k total,   228420k used,    17536k free,     6916k buffers
Swap:   262136k total,    47628k used,   214508k free,    39540k cached

Ответы [ 3 ]

5 голосов
/ 19 августа 2010

вы можете использовать директиву "maxmemory" в файле конфигурации: если этот объем памяти превышен, Redis истекает с более ранними ключами, уже имеющими установленный срок действия (ключи, срок действия которых истекает раньше, являются первыми, которые будут удалены).

1 голос
/ 06 августа 2010

Использование виртуальной памяти Redis в Redis 2.0: http://antirez.com/post/redis-virtual-memory-story.html

1 голос
/ 02 августа 2010

В отличие от memcached, redis должен быть базой данных; поэтому он не будет автоматически удалять старые значения, чтобы освободить место для новых.

Вы должны явно установить время истечения для каждого ключа / значения, и даже в этом случае вы можете переполниться, если создаете ключ / значения быстрее, чем это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...