2010-04-04 4 views
2

Я довольно новичок в Redis, и перед его использованием я хотел бы узнать некоторые важные (как мне) подробности об этом. Итак ....Redis - Может ли размер данных быть больше, чем размер памяти?

Redis использует RAM и HDD для хранения данных. ОЗУ используется в качестве быстрого хранилища для чтения/записи, а HDD используется для постоянного сохранения этих данных. Когда Redis запущен, он загружает все данные с HDD в RAM или загружает только часто запрашиваемые данные в ОЗУ? Что делать, если у меня есть хранилище Redis на 500 Мбайт на жестком диске, но у меня есть только 100 Мб или ОЗУ для Redis. Где я могу прочитать об этом?

Спасибо

PS: Извините за мой английский

ответ

6

Redis загружает все в памяти. Все данные записываются на диск, но читаются только для таких вещей, как перезапуск сервера или создание резервной копии.

Есть несколько способов, которыми вы можете использовать его с меньшей ОЗУ, чем данные. Вы можете настроить его в сочетании с MySQL или другим дисковым хранилищем, чтобы работать так же, как memcached - вы вручную управляете промахами кеша и сохраняете их вручную.

Redis имеет режим виртуальной машины, в котором все ключи должны входить в оперативную память, но редко доступные данные могут быть на диске. Тем не менее, я не уверен, что это еще не все.

+0

Очень полезно, но откуда вы знаете о режиме VM? Не удается найти его в документации. Или вы проверяете исходный код новых сборок? – Kirzilla

+2

http://antirez.com/post/redis-virtual-memory-story.html –

+3

С этого поста Redis VM устарела и скоро будет удалена. –

1

Последние версии (> 2.0) значительно улучшились, а управление памятью стало более эффективным. См. Это сообщение в блоге, в котором объясняется, как использовать хэши для оптимизации объема памяти оперативной памяти: http://antirez.com/post/redis-weekly-update-7.html

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

  • Нет связанных вопросов^_^