Что такое соотношение размера базы данных Redis к памяти?
Например, если у меня есть база данных 80 МБ, сколько оперативной памяти будет использовать Redis (при использовании с обычным веб-приложением)?
Ответ 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 МБ на жестком диске.