Подтвердить что ты не робот

Redis: размер базы данных в памяти?

Что такое соотношение размера базы данных Redis к памяти?

Например, если у меня есть база данных 80 МБ, сколько оперативной памяти будет использовать Redis (при использовании с обычным веб-приложением)?

4b9b3361

Ответ 1

Redis будет использовать немного больше оперативной памяти, чем диск. Формат dumpfile, вероятно, немного более плотно упакован. Это некоторые цифры из реальной производственной системы (64-разрядный EC2 большой экземпляр, работающий с Redis 2.0.4 на Ubuntu 10.04):

$ redis-cli info | grep used_memory_human
used_memory_human:1.36G

$ du -sh /mnt/data/redis/dump.rdb 
950M /mnt/data/redis/dump.rdb

Как вы можете видеть, файл дампа в несколько сотен мегабайт меньше, чем использование памяти.

В конце концов, это зависит от того, что вы храните в базе данных. У меня в основном хеши в моем, только с несколькими (возможно, менее 1%) наборами. Ни один из ключей не содержит очень больших объектов, средний размер объекта - 889 байтов.

Ответ 2

Базы данных Redis хранятся в памяти, поэтому база данных 80 МБ будет занимать до 80 МБ памяти.

Redis является чрезвычайно низкая память с помощью программы, и вы можете увидеть, что из этого примера с веб-сайта "1 миллион ключей с ключом будучи натуральными числами от 0 до 999999 и строку„Hello World“в качестве значения используется 100MB [ Рама]". Мое приложение Redis использует от 300 кбайт до 500 КБ оперативной памяти, поэтому вам понадобится много данных для доступа к базе данных размером 80 МБ. Redis также сохраняет снимки диска из базы данных, поэтому 80 МБ в RAM и 80 МБ на жестком диске.