Ответ 1
Я предлагаю вам прочитать об этом на http://redis.io/topics/persistence. В основном вы теряете гарантированное постоянство, когда увеличиваете производительность, используя только хранение в памяти. Представьте себе сценарий, в который вы вставляете в память, но до того, как он останется на диске, потеряет силу. Будет потеря данных.
Redis поддерживает так называемые "моментальные снимки". Это означает, что он будет делать полную копию данных в памяти в определенные моменты времени (например, каждый полный час). Когда вы теряете власть между двумя моментальными снимками, вы теряете данные со времени между последним снимком и сбоем (не обязательно отключать питание..). Redis торгует безопасностью данных по сравнению с производительностью, как и большинство NoSQL-DB.
Большинство баз данных NoSQL следуют концепции репликации между несколькими узлами, чтобы минимизировать этот риск. Redis считается более быстрым кешем вместо базы данных, которая гарантирует согласованность данных. Поэтому его варианты использования обычно отличаются от используемых в реальных базах данных: Например, вы можете хранить сеансы, счетчики производительности или что-то в нем с непревзойденной производительностью и без реальной потери в случае сбоя. Но обработка заказов/истории покупок и т.д. Рассматривается как работа для традиционных баз данных.