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

Является Redis память только хранить как memcached или он записывает данные на диск

Сохранена ли память Redis как memcached или она записывает данные на диск? Если он записывает на диск, как часто записывается диск?

4b9b3361

Ответ 1

Настойчивость Redis подробно описана здесь:

http://redis.io/topics/persistence

По умолчанию redis выполняет моментальный снимок:

По умолчанию Redis сохраняет моментальные снимки набора данных на диске в двоичном файле с именем dump.rdb. Вы можете настроить Redis, чтобы он сохранял набор данных каждые N секунд, если в наборе данных есть хотя бы M изменений, или вы можете вручную вызывать команды SAVE или BGSAVE. Например, эта конфигурация заставит Redis автоматически сбрасывать набор данных на диск каждые 60 секунд, если изменилось не менее 1000 ключей: save 60 1000

Еще одна хорошая ссылка - это ссылка на блог автора, где он пытается объяснить, как работает переиздание:

http://antirez.com/post/redis-persistence-demystified.html

Ответ 2

Redis хранит все данные в памяти. Если размер данных приложения слишком велик для этого, то Redis не является подходящим решением.

Однако Redis также предлагает два способа сделать данные постоянными:

1) Снимки с предопределенными интервалами, которые также могут зависеть от количества изменений. Любые изменения между этими интервалами будут потеряны при сбое питания или сбое.

2) Написание вида журнала изменений при каждом изменении данных. Вы можете точно настроить, как часто это физически записывается на диск, но если вы решили всегда писать немедленно (что будет стоить вам некоторой производительности), тогда не будет потери данных, вызванной природой Redis в памяти.