これについてはhttp://redis.io/topics/persistenceで読むことをお勧めします。基本的に、メモリ内の保存のみを使用してパフォーマンスを向上させると、保証された永続性が失われます。メモリに挿入するが、ディスクに永続化される前に電力が失われるシナリオを想像してみてください。データが失われます。
Redisはいわゆる「スナップショット」をサポートしています。これは、ある時点(たとえば、1時間ごと)でメモリ内の内容の完全なコピーを実行することを意味します。 2つのスナップショット間で電源が切れると、最後のスナップショットからクラッシュまでのデータが失われます(停電である必要はありません)。 Redisは、ほとんどのNoSQL-DBと同様に、データの安全性とパフォーマンスを交換します。
ほとんどのNoSQLデータベースは、このリスクを最小限に抑えるために、複数のノード間のレプリケーションの概念に従います。 Redisは、データの一貫性を保証するデータベースではなく、より高速なキャッシュと見なされています。したがって、そのユースケースは通常、実際のデータベースのユースケースとは異なります。たとえば、セッションやパフォーマンスカウンターなど、パフォーマンスが比類のないものを保存でき、クラッシュした場合でも実際に損失を被ることはありません。ただし、注文や購入履歴の処理などは、従来のデータベースの仕事と見なされています。